1.c语言中应用
头文件:stdio.h
ssize_t getline (char **lineptr, size_t *n, FILE *stream)
作用:读取文件流stream的一整行,存储在动态分配的空间中,空间地址为lineptr。
在调用getline()前,首先动态分配一段内存lineptr,其大小为n个字节,如果读取某一行的内容大于n个字节,getline()调用realloc,增大动态分配空间,同时n也重置为新空间的大小。
#include<stdio.h>
int main(){
int res;
size_t n=10;
char *buff=malloc(n);
FILE *fp=fopen("getline.test","r");
if(fp==NULL){
printf("no this file!\n");
}
while((res=getline(&buff,&n,fp))>0){
printf("res=%d n=%d %s",res,n,buff);
}
free(buff);
fclose(fp);