gpt4 book ai didi

c - 如何让 getc() 返回笑脸以外的字符?

转载 作者:太空宇宙 更新时间:2023-11-04 05:45:09 25 4
gpt4 key购买 nike

我正在尝试用 C 编写一个简单的“猫”克隆。我正在运行 Windows 7 并使用 MinGW 编译器。但是,每当我运行该程序时,它都会返回文本文件,但每个字符都替换为“☺”字符。提前谢谢你。

#include <stdio.h>

int main(int argc, char *argv[])
{
int i;
FILE *fp;
int c;

for(i = 1; i < argc; i++)
{
fp = fopen(argv[i], "r");

if(fp == NULL)
{
fprintf(stderr, "cat: can't open %s\n", argv[i]);
continue;
}

while((c = getc(fp) != EOF))
{
putchar(c);
}

fclose(fp);
}

return 0;
}

最佳答案

由于关系相等测试 (!=) 比赋值 (=) 具有更高的优先级,因此您只需在每个 c 中存储 1迭代。换句话说,其中一个括号位置错误。

while((c = getc(fp) != EOF))
^
{
putchar(c);
}

右:

while((c = getc(fp)) != EOF)
{
putchar(c);
}

关于c - 如何让 getc() 返回笑脸以外的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7749993/

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