私は今 [ 文字を打つとその文字に対応したファイルを読み取りそれを表示する]というプログラムを作っております。*ファイルはあらかじめつくってあります
詳しく説明させてもらいますと
近畿地方の県名を入力するとその県名を数字に変換しそれを変数名で宣言してあるファイルに代入しファイルをよみとり表示するというプログラムです
自分なりにプログラムを考え作ってみたのですがどうしてもファイルを読み取ってくれないのです
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 256
int sum(int b);
int main (void) {
FILE *fp;
char filename[100];
int b;
sum(b);
sprintf(filename,"%d.txt",b);
char readline[N] = {'\0'};
if((fp=fopen(filename, "r")) == NULL) {
printf("not open\n");
exit(1);
}
while ( fgets(readline, N,fp) !=NULL) {
printf("%s",readline);
}
fclose(fp);
return (0);
}
int sum (int b) {
char i[100];
printf("県を入力してください\n");
scanf("%s",i);
if(strcmp(i,"siga")==0){
b=1;
}
else if(strcmp(i,"nara")==0){
b=2;
}
else if(strcmp(i,"wakayama")==0){
b=3;
}
else if(strcmp(i,"osaka")==0){
b=4;
}
else if(strcmp(i,"kyoto")==0){
b=5;
}
else if(strcmp(i,"hiyogo")==0){
b=6;
}
else{
printf("gomen\n");
}
return(b);
}
ファイルを読みとれるようにするにはどうしたらよろしいのでしょうか? 何が間違っているかわからず困っています どうかご教授お願いします
c言語を勉強し始めてだいたい半年くらいです
使用 os Linux ubuntu 64 bit