#1
by hnkto » 6年前
ファイルから著者名などを読み込み、表示させたいのですが、ファイルオープンエラーとなってしまいます。どこがおかしいのかわからないので、分かる方いましたらお願いします。
コード:
#include<stdio.h>
typedef struct{
char author[20];
char title[20];
char publisher[20];
char isbn[20];
int price;
}data;
void list(data d[],int n) /*一覧表を作る関数*/
{
int i;
printf("著者名 タイトル 出版社 ISBN 価格 \n");
for(i=0;i<n;i++)
{
printf("%s %s %s %s %d\n",d[i].author,d[i].title,d[i].publisher,d[i].isbn,d[i].price);
}
}
void find(data d[]) /*本を探す関数*/
{
/*ここはまだ書いていないので、大丈夫です。*/
}
int main(void)
{
int i,n;
FILE *fp;
if((fp=fopen("books-utf.txt","r"))==NULL){
printf("ファイルオープンエラーです。\n");
exit(1);
}
data d[100];
for(i=0;i<100;i++)
{
while(fscanf(fp,"%s %s %s %s %d",d[i].author,d[i].title,d[i].publisher,d[i].isbn,&d[i].price)!=EOF){
break;
}
}
n=i;
list(d,n);
fclose(fp);
return 0;
}
ファイルから著者名などを読み込み、表示させたいのですが、ファイルオープンエラーとなってしまいます。どこがおかしいのかわからないので、分かる方いましたらお願いします。
[code]
#include<stdio.h>
typedef struct{
char author[20];
char title[20];
char publisher[20];
char isbn[20];
int price;
}data;
void list(data d[],int n) /*一覧表を作る関数*/
{
int i;
printf("著者名 タイトル 出版社 ISBN 価格 \n");
for(i=0;i<n;i++)
{
printf("%s %s %s %s %d\n",d[i].author,d[i].title,d[i].publisher,d[i].isbn,d[i].price);
}
}
void find(data d[]) /*本を探す関数*/
{
/*ここはまだ書いていないので、大丈夫です。*/
}
int main(void)
{
int i,n;
FILE *fp;
if((fp=fopen("books-utf.txt","r"))==NULL){
printf("ファイルオープンエラーです。\n");
exit(1);
}
data d[100];
for(i=0;i<100;i++)
{
while(fscanf(fp,"%s %s %s %s %d",d[i].author,d[i].title,d[i].publisher,d[i].isbn,&d[i].price)!=EOF){
break;
}
}
n=i;
list(d,n);
fclose(fp);
return 0;
}
[/code]