C 防止将行打印到命令行管道文件

C 防止将行打印到命令行管道文件,c,command-line,C,Command Line,标题可能有点混乱。。下面是我的解释: 我的程序有一个命令: c file1.txt > file2.txt 命令行中的此命令获取第一个文件,并将程序(打印)的输出传输到第二个文件 因此,我正在扫描一条用户消息: printf("Enter a message:"); char *message = malloc(sizeof(char) * 256); scanf("%s", message); printf("Your message is: %s", message); 但是这会将

标题可能有点混乱。。下面是我的解释:

我的程序有一个命令:

c file1.txt > file2.txt
命令行中的此命令获取第一个文件,并将程序(打印)的输出传输到第二个文件

因此,我正在扫描一条用户消息:

printf("Enter a message:");
char *message = malloc(sizeof(char) * 256);
scanf("%s", message);
printf("Your message is: %s", message);
但是这会将两个
printf(…)
语句打印到我的管道文件中,而我只需要第二个。我怎样才能防止这种情况


谢谢

一种方法是对不希望复制到输出文件的信息使用
stderr

fprintf(stderr, "Enter a message:");

可能重复使用的
--quiet
选项会抑制此类输出。如果不起作用,它仍会将其打印到输出file@madcrazydrumma:什么?根据您的问题,管道语句绝对不应该是这种情况。@如果它仍然写入文件,我不想将其打印到文件Nevermind,我有其他具有相同字符串的打印语句,谢谢!