1 int mainint argc char const argv023 FILE fp = fopen1tr+;4 char buf15 = helloworld;5 fwritebuf 102fp;6 fclosefp;7 return 0; 8上面代码有哪些错误应该怎么改
上面代码有以下几个错误:
-
第一行缺少返回类型,应该是
int。 -
第二行的参数
char const *argv0应该是char const *argv[],因为argv是一个指向字符串数组的指针。 -
第三行的文件名应该是 "1.txt",而不是 "1.t"。
-
第五行的
fwrite函数的参数顺序不正确,应该是fwrite(buf, 2, 10, fp),先是要写入的数据的指针,然后是每个数据的大小,再是要写入的数据的数量,最后是文件指针。 -
第六行没有判断文件是否成功打开,如果文件打开失败,应该进行错误处理。
改正后的代码如下:
#include <stdio.h>
int main(int argc, char const *argv[])
{
FILE *fp = fopen("1.txt","r+");
if (fp == NULL) {
printf("Failed to open file.\n");
return 1;
}
char buf[15] = "helloworld";
fwrite(buf, 2, 10, fp);
fclose(fp);
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/iOkc 著作权归作者所有。请勿转载和采集!