ファイルの読み込みと構造体の組み合わせ
Posted: 2016年6月23日(木) 22:50
text.txtを読み込んで読み込んだファイルから番号を指定し、その指定した番号で色の番号、光度、名前を出力するというプログラムを作成しているのですが24行目のファイル内の文字列の読み込みと26行目の出力ができません。
24行目の部分でfscanf(fp, "%d,%d,%s", data.number,data.koudo,data.name);と3つに分けて読み込み、
26行目でprintf(fp, "%d,%d,%s", data.number,data.koudo,data.name);で出力できるようにしたいのですが何処に問題があるのですか?
上記を入力すれば式にはクラス型が必要です。と表示されエラーとなってしまいます。
この状態ではエラーは何も出ず、出力すると何も関係がない数字と文字が表示されるだけです。
textの内容
1 22 aka
6 14 ao
4 15 kiiro
7 16 kuro
3 12 midori
24行目の部分でfscanf(fp, "%d,%d,%s", data.number,data.koudo,data.name);と3つに分けて読み込み、
26行目でprintf(fp, "%d,%d,%s", data.number,data.koudo,data.name);で出力できるようにしたいのですが何処に問題があるのですか?
上記を入力すれば式にはクラス型が必要です。と表示されエラーとなってしまいます。
この状態ではエラーは何も出ず、出力すると何も関係がない数字と文字が表示されるだけです。
textの内容
1 22 aka
6 14 ao
4 15 kiiro
7 16 kuro
3 12 midori
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
struct iro{
int number;
int koudo;
char *namae;
};
int main(void){
int num,i;
FILE *fp;
struct iro data[100];
printf("色の番号を指定してください。");
scanf("%d",&num);
if ((fp = fopen("text.txt", "r")) == NULL){
printf("not open file \n");
exit(EXIT_SUCCESS);
}
fscanf(fp, "%d,%d,%s", data);
printf("%d,%d,%s", data, data, data);
fclose(fp);
return 0;
}