gpt4 book ai didi

c - 文本未打印在输出上

转载 作者:太空宇宙 更新时间:2023-11-04 02:33:21 24 4
gpt4 key购买 nike

我想弄清楚为什么这不打印,我试图打印通过命令提示符输入的文本文件中的每个字母,但我只是得到一个空输出...我做错了什么,为什么这不起作用?我觉得这在逻辑上应该可行。谢谢。

int main(int argc, char *argv[]) {
FILE *fp;
int i;
for (i = 1; i < argc; i++) {
printf("%s\n", argv[i]);
fp = fopen(argv[i], "r");
while (!feof(fp)) {
puts(fp);
}
fclose(fp);
}
return 0;
}

最佳答案

您正在尝试打印文件指针:

puts(fp);

阅读 puts() 的手册 - 这不是它所需要的。

要逐个字符读取并在标准输出上打印,您可以执行以下操作:

int ch;
fp = fopen(argv[i], "r");
if (!fp) {
perror("fopen");
exit(1);
}
while((ch=fgetc(fp)) != EOF) {
putchar(ch);
}
flcose(fp);

除非您将多个文件名作为参数传递,否则您的外部循环没有多大意义。

关于c - 文本未打印在输出上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com