⑴ c语言读取指定行数据
#include<stdio.h>
#defineMAXC1024
intReadSpeacialLine(inti)
{
charfilename[]="test.c";//文件名
FILE*fp;
intret=0,L;
intWhichLine=i;//指定要读取哪一行
intCurrentIndex=0;//当前读取的行
charStrLine[MAXC];//每行最大读取的字符数,可据实际情况更改
if((fp=fopen(filename,"r"))==NULL)//打开文件
{
printf("openfileerror! ");
returnret;
}
while(1){
if(NULL==fgets(StrLine,MAXC,fp))break;
L=strlen(StrLine);
if(' '==StrLine[L-1]){
memset(ln+L-1,0,MAXC-L+1);
CurrentIndex++;
if(WhichLine==CurrentIndex)
{
fgets(StrLine,MAXC,fp);//读取一行
printf("%s",StrLine);//输出
ret=1;
returnret;
}
}
else{//行内容太多StrLine会读不到行结尾的情况
CurrentIndex++;
if(WhichLine==CurrentIndex)
{
fgets(StrLine,MAXC,fp);//读取一行
printf("%s",StrLine);//输出
ret=1;
returnret;
}
while(1){
if(NULL==fgets(StrLine,MAXC,fp))gotoEND;
L=strlen(ln);
if(' '==ln[L-1])break;
}
}
}
end:
fclose(fp);//关闭文件
returnret;
}
使用fgets函数,fgets是每次读取一行。
使用memset来清除StrLine,防止上一次StrLine中的内容未清除。
满意请采纳,不懂请追问。
⑵ C语言如何读取文本文件中的一行数据啊
用fstream(文件流),fstream
file
然后
file.getline(char*,int,char
a=‘\n’)第一个是一个存储字符串的指针,第二个是要读取的最大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符(‘\n’)时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊。!!~~
⑶ C语言怎么读取txt文件中一行的数据
打开文件 fopen("需要打开的路径")
然后使用fgets函数读取行
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAX_LINE1024
intmain()
{
charbuf[MAX_LINE];/*缓冲区*/
FILE*fp;/*文件指针*/
intlen;/*行字符个数*/
if((fp=fopen("test.txt","r"))==NULL)
{
perror("failtoread");
exit(1);
}
while(fgets(buf,MAX_LINE,fp)!=NULL)
{
len=strlen(buf);
buf[len-1]='