大家好,又见面了,我是你们的朋友全栈君。
Read函数读取字符串返回值的问题
1....我在想read返回的读取字节数有没有包含'\0'或者'\n'呢,于是通过一些简单的小例子,来看看实际情况到底如何.
2. read函数
我们来看一下read函数的原型:
ssize_t read(int...6
注意在代码中
printf("Read buf: %s", buf);
这一句我是没有加换行符的,但是输出的时候却有了换行的作用,说明buf把换行符'\n'给读取进来了,下面的长度也说明了问题,...最后会有简略的strlen和 sizeof函数的比较.
4. read函数从文件读入字符串的返回的大小
因为终端只能带有换行符,我们试一下从文件中读取不带换行符的试试.创建一个文件名为read_test...总结
通过上面两个简单的测试,最后总结如下:
在终端中,因为无可避免要回车进行确定,因此read函数会读入换行符,所以read函数从终端读取到的字符串字节数会比输入的大1个字节,多出的一个字节是换行符的大小