我无法一直从stdin读取,直到按下CTRL + D.我必须使用unistd.h中的read()
。我正在尝试模拟猫的功能。有没有办法让我的缓冲区(我用%s打印)看起来整洁而没有来自read(STDIN_FILENO, buf, 256)
的不必要的空格?
答案 0 :(得分: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. */
}