如何将结果打印到标准输出?

时间:2010-10-13 20:33:19

标签: c

            char line[MAXBUF];
            char *result;

            while((result = fgets(line, MAXBUF, fp)) != NULL) {
                printf(result); 
            }

以下代码无法完全发挥作用。有谁知道如何打印结果?? MAXBUF定义为1024,fp只是指向某个文件的文件指针。我想在这个赋值中做的是读取文件并将文件输出打印到标准输出。有什么想法吗?

在行printf(结果)上我收到此错误“警告:格式不是字符串文字而没有格式参数”

2 个答案:

答案 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); 
            }
相关问题