【发布时间】:2019-09-16 18:55:24
【问题描述】:
我只是在学习如何使用文件 IO,我可能大错特错。我需要创建一个城市名称及其人口密度列表并将其写入文件。我能够使用 for 循环在标准输出中正确打印该列表,但无法将其写入文件。就像我在使用 printf 语句时所说的那样,它工作得很好,但是 (fopen, "w") fprintf 不起作用。我哪里错了?
printf("Create new file name:\n");
scanf("%s", outfile);
fp = fopen(outfile, "w");
for(i=0;i<10;i++){
fprintf("%s %.2f\n", veg[i].name, density );
}
fclose(fp);
我希望文件中包含城市列表,但我的程序却崩溃了。我收到此错误消息。
“不兼容的指针类型将'char [10]'传递给'FILE *'类型的参数(又名'struct __sFILE *')”
【问题讨论】:
-
fprintf(fp, "... -
别忘了检查
fopen调用的返回码。您不应该假设文件已打开。 -
我喜欢stackoverflow!谢谢@KamilCuk
-
if( fp ) { //write to file} else { printf("Failed to open file");}
标签: c string for-loop file-io char