zoukankan      html  css  js  c++  java
  • C语言获得文件一行

    C语言获得一行的数据还是比较麻烦的,这里讲一下几种曾经用过的方法。

    第一种,是最笨的方法,就是一个一个字符的读取,也是最容易想到的方法。具体实现如下:
    void   read_line(char   line[])  
     
        FILE   *fp;  
        char   cChar;  
        int   i;  
        fp=fopen("read.txt","r");  
        i=0;  
        cChar=fgetc(fp);  
        while(cChar!=' '   &&   !feof(fp))  
        {  
            line[i]=cChar;  
            i++;  
            cChar=fgetc(fp);  
        }  
        line[i]='';  
        return;  
    }   
    但是,这种方法效率比较低。

    第二种,就是使用Linux环境下,有一个函数getline,说明如下:
    #define _GNU_SOURCE
           #include <stdio.h>
           #include <stdlib.h>

           int main(void)
           {
                FILE * fp;
                char * line = NULL;
                size_t len = 0;
                ssize_t read;
                fp = fopen("/etc/motd", "r");
                if (fp == NULL)
                     exit(EXIT_FAILURE);
                while ((read = getline(&line, &len, fp)) != 1) {
                     printf("Retrieved line of length %zu : ", read);
                     printf("%s", line);
                }
                if (line)
                     free(line);
                return EXIT_SUCCESS;
           }

    第三种,如果使用C++的话,有一个方法比较简单
          ifstream   in("read.txt");  
          string   line;  
          getline(in,   line);  
          cout   <<   line;   

  • 相关阅读:
    Django REST framework
    容器平台自动化CI/CD流水线实操
    VUE--webpack
    vue动态路由匹配
    VUE学习---vue基础与vue-router
    MYSQL-创建测试数据
    MYSQL-主键、外键
    MYSQL-数据库、表、数据操作
    MySQL-添加环境变量 及MySQL服务启停
    MYSQL-命令行
  • 原文地址:https://www.cnblogs.com/zhanghaifeng/p/3435294.html
Copyright © 2011-2022 走看看