大家好,又见面了,我是你们的朋友全栈君。
Read函数读取字符串返回值的问题
1....我在想read返回的读取字节数有没有包含'\0'或者'\n'呢,于是通过一些简单的小例子,来看看实际情况到底如何.
2. read函数
我们来看一下read函数的原型:
ssize_t read(int...buf: hello
The length of buf read: 6
The strlen of buf: 6
注意在代码中
printf("Read buf: %s", buf);
这一句我是没有加换行符的...,但是输出的时候却有了换行的作用,说明buf把换行符'\n'给读取进来了,下面的长度也说明了问题,
读取到的长度为6,然而hello只有5个字节,说明把换行符读了进来,结束符没有读取进来
strlen...strlen函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个’\0’,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到’\0’停止。