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

标签 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);

但这会将两个 printf(...) 语句打印到我的管道文件中,而我只想要第二个。我怎样才能防止这种情况发生?

谢谢!

最佳答案

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

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

关于c - 防止将行打印到命令行管道到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35226228/

相关文章:

c - 向线程发送整数(不是从堆)作为参数时的行为

c++ - memcmp 适用于非平面结构吗?

c - UDP 多播套接字在 linux 64 位平台上不起作用

node.js - 如何一次更新所有 npm 包/模块?

windows - 在 Windows 命令行中使用 Chrome 中的 'Copy as cURL'

php - 在 Hostgator 上将 php 5.4 更改为 5.5

c - 在 PCF-DEV 中将 native C/C++ 二进制文件部署为独立微服务

c - 将文件放入链接列表时出现空格

linux - 如何通过命令行自动响应密码提示?

command-line - jpegtran 整个目录