char line[MAXBUF];
char *result;
while((result = fgets(line, MAXBUF, fp)) != NULL) {
printf(result);
}
以下代码无法完全发挥作用。有谁知道如何打印结果?? MAXBUF定义为1024,fp只是指向某个文件的文件指针。我想在这个赋值中做的是读取文件并将文件输出打印到标准输出。有什么想法吗?
在行printf(结果)上我收到此错误“警告:格式不是字符串文字而没有格式参数”
答案 0 :(得分:1)
以下是您要做的事情:
char line[MAXBUF];
char *result;
while((result = fgets(line, MAXBUF, fp)) != NULL) {
printf("%s", line);
}
fgets输入该行(保留换行符)。您正在检查结果,这是正确的。从理论上讲,结果应该相等。 printf没有'\ n',因为新行字符是从fgets保留的(参见联机帮助页)。
答案 1 :(得分:0)
看看fgets规范,更好:
while( fgets(line, MAXBUF, fp)!= NULL) {
puts(line);
}
或
while( fgets(line, MAXBUF, fp) ) {
puts(line);
}