#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语言,如何智能读取一行的数字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)