所以我正在處理一些事情,需要我讓用戶在命令窗口中輸入儘可能多的數據(包括新行),然後按CTRL + D(EOF字符)後應該能夠打印出輸入的所有內容。使用stdin等待EOF
我能夠弄清楚如何做到每一個新行。
#include <stdio.h>
int main()
{
int C;
C = getc(stdin);
while(C != EOF)
{
putc(C, stdout);
C = getc(stdin);
}
return 0;
}
我也只能使用getc和putc。最終,我想讓用戶輸入儘可能多的數據,然後根據他們使用命令發送的標誌,我將修改使用getopt提供的輸入。
編輯:抱歉忘了添加我的問題。我希望能夠做的是等待用戶輸入他們的所有輸入,然後全部打印出來,而不是逐行輸出。我將如何去做這件事。
那麼,到底什麼是你的問題? – 2013-02-09 23:59:53
在Unix中沒有「EOF字符」,會發生什麼情況是,如果用戶將ctrl-D鍵入到tty中,則會將其作爲文件結束符來處理從中讀取的進程。 – vonbrand 2013-02-10 00:01:52
首選變量名稱的小寫字母。 – pmg 2013-02-10 00:02:23