我無法從標準輸入不斷讀取,直到按下CTRL + D。我必須使用unistd.h中的read()
。我試圖模擬貓的功能。有沒有辦法讓我的緩衝區(我打印%s)看起來整潔沒有不必要的空間從read(STDIN_FILENO, buf, 256)
?從標準輸入讀取,直到EOF
-3
A
回答
2
我想模擬貓的功能。
這裏是一個開始:
ssize_t nread, nwrite;
while ((nread = read(STDIN_FILENO, buf, sizeof buf)) > 0) {
nwrite = write(STDOUT_FILENO, buf, nread);
/* Error handling and partial writes left as exercise. */
}
相關問題
- 1. Python:如何從標準輸入讀取字節塊直到EOF?
- 2. 從標準輸入讀取
- 3. EOF錯誤從標準輸入讀取數據時 - Python3
- 4. Haskell IO - 從標準輸入直接讀取到列表
- 5. 球拍 - 從標準輸入讀取,直到新線
- 6. 從輸入讀取字符串直到EOF
- 7. 閱讀()從標準輸入讀取流
- 8. 從標準輸入讀取使用讀
- 9. 蟒蛇標準輸入EOF
- 10. 寫入標準輸出並從標準輸入讀取C
- 11. 如何調用EOF到標準輸入
- 12. 從文件中讀取直到EOF
- 13. C++從標準輸入和標準輸出讀取
- 14. 從標準輸入讀取數字行
- 15. Pylint:從標準輸入讀取?
- 16. 從標準輸入流中讀取Hadoop
- 17. Haskell從標準輸入讀取文件
- 18. 從python的標準輸入讀取行?
- 19. 從標準輸入讀取libxml2在C
- 20. 非阻塞從標準輸入讀取
- 21. 從標準輸入異步讀取
- 22. 從標準輸入讀取整數
- 23. 的wget從標準輸入讀取
- 24. 從標準輸入讀取密碼
- 25. netbeans從標準輸入讀取
- 26. 從標準輸入讀取C++
- 27. 從標準輸入讀取直到EOF並在測試第一個字符後打印文本
- 28. 從標準輸入和輸出讀取到標準輸出是什麼意思?
- 29. Ç - 讀取標準輸入直到按ctrl + d不工作
- 30. 在標準輸入讀取()返回EOF而不是等待輸入
沒有看到你很難知道有什麼建議的代碼。 – suspectus 2013-03-19 22:20:40
我不確定你的問題到底是什麼,因爲你沒有發佈代碼,沒有錯誤信息,也沒有輸出(預期的或實際的),但是這是一個黑暗中的鏡頭:讀取函數不會null終止你,所以你應該這樣做:'int rd = read(STDIN_FILENO,buf,255); buf [rd] = 0x0;',假設buf被聲明爲'char buf [256]' – FrankieTheKneeMan 2013-03-19 22:39:53