如题所述
fscanf(fp,"%s,%d,%f,%f,%f,%f",stu[i].name,&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math,&stu[i].average);读取时候都要用%s,不然你读取的就有问题,
如果想拿字符串转变成int 可以使用atoi 例如:
char num="456";
int a=atoi(num)
a就是456了
atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
strtod(将字符串转换成浮点数)
改为:后面的变量自己,转换之后重新给结构体赋值
fscanf(fp,"%s,%s,%s,%s,%s,%s\n",stu[i].name,&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math,&stu[i].average);
如果想拿字符串转变成int 可以使用atoi 例如:
char num="456";
int a=atoi(num)
a就是456了
atof(将字符串转换成浮点型数)
atoi(将字符串转换成整型数)
atol(将字符串转换成长整型数)
strtod(将字符串转换成浮点数)
改为:后面的变量自己,转换之后重新给结构体赋值
fscanf(fp,"%s,%s,%s,%s,%s,%s\n",stu[i].name,&stu[i].num,&stu[i].chinese,&stu[i].english,&stu[i].math,&stu[i].average);
温馨提示:答案为网友推荐,仅供参考