gpt4 book ai didi

c - 重定向到文件时输出会变得困惑

转载 作者:行者123 更新时间:2023-11-30 17:36:00 25 4
gpt4 key购买 nike

这是我的代码,它正在执行困惑的打印。当您将其显示到屏幕(终端)时,输出很好。不幸的是,当您将其重定向到文本文件时,它会变得困惑。它显示空字符 (^@) 和查询字符 (^E)。我必须使用这样的 for 循环,否则我的输出会变得困惑。我无法使用 %s 选项,否则我的输出将不会符合我需要的方式。

FILE *input;
char line[80] = {0};
while(fgets(line, 80, input) != NULL)
{
if((int)line[0] == 46)
{
//printf("You have a period \n");
for(i = 31; i < 80; i++)
{
printf("%c", line[i]);
}
//printf(" ------------------------\n");
memset(line, 0, 80);
comment_flag = 1;
}
}

这就是我所说的重定向的意思。

gcc *.c
./a.out > text_file

最佳答案

#include <ctype.h>

并尝试

if (isprint((unsigned char)line[i]) || isspace((unsigned char)line[i]))
printf("%c", line[i]);

我的条件中的条件仅保留可打印字符(isprint())和空格字符('\n''\t',...)。其他字符('\0''\x05'、...)在输出时将被忽略。 – PMG

关于c - 重定向到文件时输出会变得困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22833192/

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