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

如何用c语言读取txt文件中的其中一行,第1张

#include

"stdioh"

#include

"stringh"

void

main()

{

int

n;

FILE

fin;

char

s[25];

fin=fopen("c:\\atxt","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行就行了

根据数据特性不同,用不同的方式,例如

整数读:

fscanf(fp,"%d\n",&n);/ n是整数 /

字符串读:

fscanf(fp,"%s",str); / str是字符串数组 /

混合读:

fscanf(fp,"%s %d ",str1,&n);

整行作为字符串读:

fgets(str,4096,fp);

很简单啊,按回车读取数据就可以了,当读到回车时再进行计算就可以了。

int i,sum=0,cnt=0;

while(1)

{

scanf("%d", &i );

if ( getchar()=='\n')

{

if ( cnt > 0 )

printf("sum=%d\n", sum );

else

break;

sum=0;

cnt=0;

}

else

{

sum += i ;

cnt++ ;

}

}

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

fgets函数原型如下:

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

参数 说明

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

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

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

fgets函数注意细节如下:

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

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

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

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

从文件中查找数据并输出,按以下步骤 *** 作:

1

打开文件,如果文件未找到,报错,结束

fopen

2

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

gets

3

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

fgets

4

检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找

strstr

5

循环结束,输出未找到该字符串。

6

关闭文件。fclose

相关代码和运行效果如下图:

以上就是关于如何用c语言读取txt文件中的其中一行全部的内容,包括:如何用c语言读取txt文件中的其中一行、c语言如何从文件中读入一行数据、C语言,如何智能读取一行的数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9801381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存