
linux环境 C语言 getline()函数问题
函数完整说明是ssize_tgetline(char**ptr,size_t*n,FILE*stream)其中指针n的作用是什么?ssize_t和size_t的定义在/u...
函数完整说明是 ssize_t getline(char **ptr, size_t *n, FILE* stream)
其中指针 n 的作用是什么?
ssize_t 和 size_t 的定义在 /usr/include/z中的哪个头文件里? 展开
其中指针 n 的作用是什么?
ssize_t 和 size_t 的定义在 /usr/include/z中的哪个头文件里? 展开
3个回答
推荐于2016-08-16
展开全部
*n是*ptr指向的缓冲区的大小。如果读取的字节数超过*n, *n值会被修改,缓冲区会被realloc。具体见man getline
如果数据量小,可以预先申请一个比较大的缓冲区,这样getline无须重复申请内存,可以提高效率。
ssize_t size_t在/usr/include/sys/types.h
最终定义,要继续跟到深层头文件,如:
/usr/lib/gcc/i686-pc-linux-gnu/GCC_VERSION/include/stddef.h
如果数据量小,可以预先申请一个比较大的缓冲区,这样getline无须重复申请内存,可以提高效率。
ssize_t size_t在/usr/include/sys/types.h
最终定义,要继续跟到深层头文件,如:
/usr/lib/gcc/i686-pc-linux-gnu/GCC_VERSION/include/stddef.h
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询