當前位置:首頁 » 編程語言 » c語言控制按指定行讀文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言控制按指定行讀文件

發布時間: 2023-06-12 17:51:25

『壹』 c語言 如何一行行讀文件

#include<stdio.h>
#include<stdlib.h>

voidmain()
{
charb[25];
//打開文件
FILE*fp;
fp=fopen("D:\a.txt","r");
//獲取文件內容,每次讀一個字元,包括空格
for(inti=0;i<25;i++)
//fscanf(fp,"%c",&b[i]);
fgets(&b[i],2,fp);
fclose(fp);

//顯示讀取到的內容
for(inti=0;i<25;i++)
printf("%c",b[i]);
}

『貳』 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語言讀取文件內容,按行讀

C語言逐行讀取文件內容 ,參考代碼如下:

#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]='';/*去掉換行符*/
printf("%s%d ",buf,len-1);
}
return0;
}

『肆』 C語言怎樣一行一行讀文件

文件有三行有兩種情況。一種是顯示是在屏幕上顯示三行,其實還是在一行,另一種是以換行符分割行。對第一種情況,遍歷統計字元個數,計算出第三行起始地址,對第二種遍歷以第二個換行符下一個地址作為第三行起始地址

『伍』 如何用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行就行了