永发信息网

C 如何读取文件的一行

答案:2  悬赏:40  手机版
解决时间 2021-01-29 13:16
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!='\n' && !feof(fp)){line[i]=cChar;i++;cChar=fgetc(fp);}line[i]='\0';return;}但是,这种方法效率比较低。
全部回答
c语言获得一行的数据还是比较麻烦的,这里讲一下几种曾经用过的方法。 第一种,是最笨的方法,就是一个一个字符的读取,也是最容易想到的方法。具体实现如下: void read_line(char line[]){file *fp;char cchar;int i;fp=fopen("read.txt","r");i=0;cchar=fgetc(fp); while(cchar!='\n' && !feof(fp)){line[i]=cchar;i++;cchar=fgetc(fp);}line[i]='\0';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 :\n", read); printf("%s", line);}if (line)free(line); return exit_success;}第三种,如果使用c++的话,有一个方法比较简单 ifstream in("read.txt"); string line;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
床单上的干血渍怎么去除? 40分
动车为何每天早上先跑一趟空车
如何将手机内置存储卡格式化
怎么对付贱人? 有些人说话讽刺人 莫名其妙的
有例可援的意思是什么啊?知道的请说下!
矢状面
新下7天的小狗仔大便绿色而且拉稀是怎么回事
怎么才能练成像周杰伦那样的声音
唐朝美容美发连锁机构(宝华店)地址在什么地方
水滴在温热和灼热的铁板上哪个蒸发得快速
【竹鞭】甜竹有竹鞭吗?什么竹子的竹鞭最长?(
吃扁豆对身体有什么好处
Is ______ wife English too?(D) A. you B.
河北省武安市是否属于地震活动频繁区?
帝京的意思是什么啊?知道的请说下!
推荐资讯
无效问卷的种类有哪些?
鱼封雁帖的意思是什么啊?知道的请说下!
吉善的意思是什么啊?知道的请说下!
沃尔沃v40刹车系统故障打不着火
超宇台球地址在什么地方,想过去办事
感今怀昔的意思是什么啊?知道的请说下!
赀械的意思是什么啊?知道的请说下!
有资料表明,世界上的制造业重心已开始向中国
招远市国土资源局阜山国土资源所地址在什么地
喝酒太多会怎么样,怎么注意啊!
有谁试过一个人去看演唱会
单选题密闭容器中装有100g水,若将它冷却后全
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?