导航:首页 > 文件教程 > c文件读一行

c文件读一行

发布时间:2023-02-12 17:19:23

『壹』 C语言有没有从文件中读取一行字符串的方法

从文件中查找数据并输出,按以下步骤操作:
1.
打开文件,如果文件未找到,报错,结束

fopen
2.
输入待查的字符串,存到变量中

gets
3.
逐行循环读取文件,直到文件结束

fgets
4.
检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找
strstr
5.
循环结束,输出未找到该字符串。
6.
关闭文件。fclose
相关代码和运行效果如下图:

『贰』 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;}但是,这种方法效率比较低。 第二种,就是使用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;

『叁』 如何用c语言读取txt文件中的其中一行

#include
"stdio.h"
#include
"string.h"
void
main()
{
int
n;

FILE
*fin;
char
s[25];
fin=fopen("c:\\a.txt","r");
fgets(s,25,fin);/*用fgets读第一行到数组s中*/

n=strlen(s);
fseek(fin,n+1,SEEK_SET);/*将文件指针移到下一行*/
fgets(s,25,fin);/*读取第二行的字符串*/
printf("%s",s);

}
这个是我写的一个,如果你想读到第n行的话,用一个for循环控制使文件指针移到第n行就行了

『肆』 C语言如何读取文本文件中的一行数据啊

用fstream(文件流),fstream
file
然后
file.getline(char*,int,char
a=‘\n’)第一个是一个存储字符串的指针,第二个专是要读取的最大长度,属第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~

『伍』 C语言怎样一行一行读文件

C语言可以通过fgets函数一次读一行数据。

fgets函数原型如下:

char *fgets(char *buf, int bufsize, FILE *stream);

参数 说明

*buf: 字符型指针,指向用专来存储所得数属据的地址。

bufsize: 整型数据,指明存储数据的大小。

*stream: 文件结构体指针,将要读取的文件流。

fgets函数注意细节如下:

  1. 从文件结构体指针stream中读取数据,每次读取一行。

  2. 读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋''),如果文件中的该行,不足bufsize个字符,则读完该行就结束。

  3. 如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。

  4. 函数成功将返回buf,失败或读到文件结尾返回NULL

『陆』 c语言如何从文件中读入一行数据

关键技巧:
每行数据个数随机,可用
c
=
fgetc(fin);
ungetc(c,fin);
检查是否读到
换行符或文件结束符。
例如:
a.txt
1
2
3
45
56
6
7
8
9
10
至于记录每行数据个数,存放到数组,等等,可以自己补充完善。
程序
#include
<stdio.h>
int
main(
)
{
file
*fin;
int
a,c;
fin=fopen("a.txt","rw");
while(1){
c
=
fgetc(fin);
if
(c==eof)
break;
if
(c=='\n')
{printf("\n==========\n");
continue;};
ungetc(c,fin);
fscanf(fin,"%d",&a);
printf("%d
",a);
}
fclose(fin);
return
0;
}

阅读全文

与c文件读一行相关的资料

热点内容
java高低字节 浏览:105
win10安全模式也死机 浏览:159
最简单的数据库开发软件 浏览:718
迅雷下载网络断开 浏览:792
考勤系统数据库在哪个文件夹 浏览:134
creo30绘图配置文件设置 浏览:624
苹果ID被锁要交600元交不交 浏览:29
实例化module配置文件失败 浏览:872
网站源码是什么东西 浏览:90
怎样打开桌面隐藏文件 浏览:904
拯救者的颜色配置文件 浏览:860
微信转发朋友圈送礼品 浏览:905
新电脑装win10教程 浏览:130
linux文件执行授权 浏览:618
微信文件如何删除重新打开 浏览:897
删了他微信他又来加 浏览:283
苹果备忘录文件夹备份 浏览:233
手机查看db文件 浏览:248
银卡app密码怎么改 浏览:995
winxp无线网络显示红叉 浏览:71

友情链接