#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;
}
構造体、配列、ファイル操作について
構造体、配列、ファイル操作について
ファイルから著者名などを読み込み、表示させたいのですが、ファイルオープンエラーとなってしまいます。どこがおかしいのかわからないので、分かる方いましたらお願いします。
Re: 構造体、配列、ファイル操作について
ファイルの置き場所は適切ですか?hnkto さんが書きました:ファイルから著者名などを読み込み、表示させたいのですが、ファイルオープンエラーとなってしまいます。どこがおかしいのかわからないので、分かる方いましたらお願いし
開発環境によって、使うファイルをどこのフォルダーに置いておく必要があるかは異なります。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 構造体、配列、ファイル操作について
環境が書いていないので正確ではありませんが、ソースコード(*.c)と同じフォルダではだめでしょう。
実行ファイルが生成されたフォルダに置く必要があります。
(基本的には、実行ファイルはソースファイルがあったフォルダを知りません。)
実行ファイルが生成されたフォルダに置く必要があります。
(基本的には、実行ファイルはソースファイルがあったフォルダを知りません。)