从头到尾这在技术上不是家庭作业。它不值得一个年级,它只是为了练习。因此,不要以为我为了获得更好的成绩而作弊。
这是我正在从事的工作:
Car* readCars(char* filename) {
FILE* fp = fopen( filename, "r" );
if( fp == NULL ) {
printf( "Error: Invalid File!" );
exit(1);
}
Car cars[5];
Car *carPtr;
int i = 0;
while( 1 ) {
fscanf( fp, "%s %s %s %i", cars[i].color, cars[i].model, cars[i].brand, &cars[i].year );
if( feof( fp ) ) {
break;
}
i++;
}
carPtr = cars;
fclose( fp );
return carPtr;
}
汽车结构:
typedef struct _car {
char* color;
char* model;
char* brand;
int year;
} Car;
在“回车”;当我期待'Car'时,我在返回类型'struct Car *'时得到“不兼容的类型”
这是我从main调用函数的地方,以及我对汽车“对象”的声明。
Car *car;
car = readCars( carFileName );
1。)从文件中扫描时出现错误。
答案 0 :(得分:0)
结构Car
中的字符串没有空格。
typedef struct _car {
// char* color;
char color[20];
int year;
} Car;
if (2 != fscanf(fp, "%19s%d", cars[i].color, &cars[i].year) {
break;
}