【问题标题】:Prevent line being printed to command line pipe to file防止将行打印到命令行管道到文件
【发布时间】:2016-02-05 14:10:18
【问题描述】:

标题可能有点混乱......所以这是我尝试解释它:

我的程序有一个命令:

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(...) 语句打印到我的管道文件中,而我只想要第二个。我怎样才能防止这种情况发生?

谢谢!

【问题讨论】:

标签: c command-line


【解决方案1】:

一种方法是使用stderr 获取您不想复制到输出文件的信息:

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

【讨论】:

  • 这不起作用,它仍然将其打印到输出文件
  • @madcrazydrumma:什么?根据您的问题,管道声明绝对不应该是这种情况。
  • @alk 它仍然写入文件,我不想将它打印到文件中
  • 没关系,我还有其他具有相同字符串的打印语句,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 2013-06-10
  • 1970-01-01
  • 2011-12-04
  • 2020-03-04
  • 1970-01-01
  • 2011-08-19
相关资源
最近更新 更多