こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ファイルについて

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1526476
先日↑で質問させてもらったものです。

#include<stdio.h>
#define M 10
struct data{
char author[50];
char title[100];
char publisher[100];
int year;
}book[10];

int main(void)//main関数

{
FILE *fp1,*fp2;
if((fp1 = fopen("biblio.txt","r")) == NULL){
printf("can't open");
}

else
for(i=0;i<M;i++){
fscanf(fp1,"%[^,],%[^,],%[^,],%d%d",&book[i].author,&book[i].title,&book[i].publisher,&book[i].year);

fprintf(fp1,"%[^,],%[^,],%[^,],%d%d",&book[i].author,&book[i].title,&book[i].publisher,&book[i].year);
}
fclose(fp1);
return(0);
}

biblio.txt(作者,タイトル,出版社,年の順に10行ファイルがあります)からファイルを読み込んで表示するプログラムを作りたいんですが、なかなかうまくいきません。。

Borlandを使ってるんですがコンパイル&実行しようとすると不正命令が出ます。
これはプログラミングが悪いんでしょうか…それとも設定が間違ってるのか…
ご教授よろしくお願いします。

投稿日時 - 2005-07-24 21:16:38

QNo.1535521

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

質問者です。
ごめんなさい。iを宣言してませんでした。
これからは気をつけます。

投稿日時 - 2005-07-24 21:28:38

ANo.2

質問者です。
おそらく
fprintf(fp1,"%[^,],%[^,],%[^,],%d%d",&book[i].author,&book[i].title,&book[i].publisher,&book[i].year);

printf(%s%s%s%d",book[i].author,book[i].title,book[i].publisher,book[i].year);
の間違いです。

投稿日時 - 2005-07-24 21:22:07

scanf() への引数に、year 以外には & つけなくていいですよ。プログラミングの本とかサンプルとか見てますか?

printf() については、どれに対しても & いりません。

投稿日時 - 2005-07-24 21:21:49

あなたにオススメの質問