2016-02-05 60 views
-1

標題可能有點混亂..所以這裏是我的解釋它的嘗試:防止線被打印到命令行管文件

我有我的程序命令:

c file1.txt > file2.txt 

這命令行中的命令獲取第一個文件並將程序的輸出(打印的)輸出到第二個文件。

所以IM掃描用戶消息:

printf("Enter a message:"); 
char *message = malloc(sizeof(char) * 256); 
scanf("%s", message); 
printf("Your message is: %s", message); 

但是,這兩個打印報表printf(...)我的管道文件,而我只想要第二個。我怎樣才能防止這個?

謝謝!

+0

的[?寫入.txt文件]可能的複製(http://stackoverflow.com/問題/ 11573974/write-to-txt-file) – LPs

+1

使用'--quiet'選項可以抑制這種輸出。 – Olaf

回答

2

一種方法是使用stderr你不想複製到輸出文件中的信息:

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

這不起作用,它仍然打印到輸出文件 – madcrazydrumma

+1

@madcrazydrumma:什麼?根據您的問題,這肯定應該*不適用於管道聲明。 – alk

+0

@alk它仍然寫入文件,我不想打印到文件 – madcrazydrumma