C库函数-fgets()

函数声明:char *fgets(char *str,int n,FILE *stream)

函数介绍:从指定的stream流中读取一行,并把它存储在str所指向的字符串中。当读取到(n-1)个字符时,获取读取到换行符时,或者到达文件末尾时,他会停止。具体视情况而定。

函数参数:

l  str –- 这是一个指向字符数组的指针,该数组存储了要读取的字符串。

l  n – 这是读取的最大的字符数(包括最后面的空字符),通常是使用str传递的数组长度。

l  stream – 这是指向FILE对象的指针,该FILE对象标识了要从中读取的字符串。

返回值:如果成功,该函数返回相同的str参数,如果到达文件末尾或者没有读取到任何字符,str内容保持不变,并返回一个空指针。

 

实例:

/*
fgets.c
*/
int main()
{
    FILE *fp;
    char str[60];
    
    fp = fopen("file.txt","r");
    if(NULL == fp)
    {
        perror("open the file error");
        return 0;
    }
    while(NULL != fgets(str,60,fp))
    {
        puts(str);
    }
    fclose(fp);
    return 0;
}    
/*
file.txt
*/
this is first line
this is second line

this is three line

输出结果:

exbot@ubuntu:~/wangqinghe/Transducer/20190712/01$ ./fgets

this is first line

 

this is second line

 

 

 

this is three line

 

exbot@ubuntu:~/wangqinghe/Transducer/20190712/01$ gedit fgets.c file.txt

 

puts(str);//自带“\n”

改为:printf(“%s”,str);

运行结果:

exbot@ubuntu:~/wangqinghe/Transducer/20190712/01$ ./fgets

this is first line

this is second line

 

this is three line

posted @ 2019-07-12 16:20  王清河  阅读(356)  评论(0编辑  收藏  举报