zoukankan      html  css  js  c++  java
  • 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);//自带“ ”

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

    运行结果:

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

    this is first line

    this is second line

    this is three line

  • 相关阅读:
    oracle语法
    cin.clear()、cin.sync()
    Intellij Idea Spring Boot 热部署
    navicat_premium_x64最新版安装说明
    激活navicat premium12
    时间戳Unix和时间之间的转换
    排序算法-- 大总结
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    final
    static
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11176790.html
Copyright © 2011-2022 走看看