我正在从文件读入结构并遇到问题。我有测试文件,其中第一个字母定义结构的名称,第二个数字告诉我它有多少个节点,其余数字是节点。文件示例:
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 =/
}
将不胜感激任何帮助!