日期:2014-05-16  浏览次数:20557 次

读过 Unix网络编程 或者 熟知Unix网络编程的 的进来看一下
[size=12px]在Unix网络编程的第5章课后第二题, "如果我们在运行客户端时把它的标准输入重定向到一个二进制文件,将会发生什么?"
他举的例子是 10\n 的例子(1,0均为二进制),他说使用fgets的话读到的是10\n\0,然后用sizeof()求得的长度是1,怎么会是1呢,不理解,求指导![/size]

------解决方案--------------------
是不是说的 strlen 呢?
对于strlen,遇到\0就结束了,那长度应该是1
------解决方案--------------------
探讨

恩,我打错了,是strlen,二进制的0会被读为'\0'么?
引用:

是不是说的 strlen 呢?
对于strlen,遇到\0就结束了,那长度应该是1

------解决方案--------------------
探讨

引用:

恩,我打错了,是strlen,二进制的0会被读为'\0'么?
引用:

是不是说的 strlen 呢?
对于strlen,遇到\0就结束了,那长度应该是1

对,'\0'的ascii码就是0

------解决方案--------------------
二进制的0的ascii码是0,'\0'的二进制码也是0,所以遇到0后会停止