ファイルから構造体に読み込んでいて、問題に遭遇しました。最初の文字が構造体の名前を定義するテストファイルがあります。2番目の数字は、ノードがいくつあるかを示し、残りの数字はノードです。ファイルの例:
A 4 1 2 3 4
B 5 1 2 3 9 8
C 3 1 2 3
たとえば、構造は次のようになります: name->A; numberOfNodes->4; ノード->{1,2,3,4}。各行を保存する私の構造は次のとおりです。
struct mystruct{
char name[1];
int numberOfNodes;
int nodes[];
};
これまでの私の機能:
lines = lineCount(courses); //calculates how many rows file has
struct courses course[lines];
co = fopen(courses, mode);
if(co == NULL){
printf("Can't find the files.");
exit(1);
}else{
for(i = 0; i < lines; i++){
fscanf(co, "%1s %d \n", ¤t, &id1); //Doesnt have any problems reading these two parameters;
for(j = 0 ; j < id1; j++){
fscanf(co, "%d", &course[i].nodes[j]); //Have no idea how to store array =/
}
strcpy(course[i].courseName, current);
course[i].numberOfNodes = id1;
}
}
編集:皆さんを混乱させて申し訳ありませんが、整数をうまく割り当てますが、同じものを出力する代わりに、次のようなものを出力します:
A 4 69 72 1 2
B 5 20 45 7 3 1
C 3 2 45 1
このコードのビットは、私がやりたいことをしていないと思います:
for(j = 0 ; j < id1; j++){
fscanf(co, "%d", &course[i].nodes[j]); //Have no idea how to store array =/
}
助けていただければ幸いです!