【发布时间】:2013-03-14 16:13:39
【问题描述】:
我在 Stack 上找到了这段代码:
...
char buffer[256]
while((count=read(0, buffer, 256)) > 1)
{
if(buffer[count] = '\n') break;
}
buffer[n-1] ='\0';
我可以从标准输入中读取,但我有 2 个问题:
- 为什么在 if() 中使用
'='而不是'=='? - 如果我在写完东西后按
CTRL-C,我怎么能保留我的东西 写的?
谢谢
【问题讨论】:
-
使用
=而不是==可能是一个错字。否则没有意义。另外,应该是if (buffer[count-1] == '\n')。 -
绝对不是拼写错误,read返回read count。 while 循环运行时读取计数大于 1。
-
@Armin:问题是关于
if中的=,而不是while。 -
@user315052 正确,我完全错过了 if(),Daniel Fischer 是对的。