linux下fgets和strlen函数的问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 14:47:01
从文本文件中fgets(buf,256,fd)一行文本, 这一行假如有10个字符
1234567890
而strlen(buf)却为12,为何?多出的那两个字节分别是什么字符?

请高手赐教!

fgets 的 buf 含行尾的 "\n". 另外有 字符串结尾符 "\0".

fgets的buf含“\n”和“\0”
如果你扫的是字符串数组也就是没有\0 可能就是11,最好看下你的定义,当时你是定义
char *name; 还是char *name[size]; 并且是怎么读取的,能看一下你的代码吗

strlen()是不计算字符串结尾的\0的