【发布时间】:2013-03-19 22:15:50
【问题描述】:
在按下 CTRL+D 之前,我一直无法从标准输入读取。我必须使用来自 unistd.h 的read()。我正在尝试模拟 cat 功能。有没有办法让我的缓冲区(我用 %s 打印)看起来整洁而没有来自read(STDIN_FILENO, buf, 256) 的不必要的空格?
【问题讨论】:
-
没有看到代码很难知道建议什么。
-
我不确定你的问题到底是什么,因为你没有发布任何代码、没有错误消息,也没有输出(预期的或实际的),但这里有一个在黑暗中的镜头:阅读函数不会为您终止,所以您应该这样做:
int rd = read(STDIN_FILENO, buf, 255); buf[rd]=0x0;,假设 buf 被声明为char buf[256]