首頁  >  文章  >  軟體教學  >  如何在C語言中讀取TXT文檔中begin和end之間的兩行字元數據

如何在C語言中讀取TXT文檔中begin和end之間的兩行字元數據

WBOY
WBOY轉載
2024-01-09 08:34:13745瀏覽

C語言怎麼讀取TXT文件中兩行字元之間的資料如begin和end之間的

假定檔案結構為:1E1F 0309 luan7 8 zao

2E2F 1518

begin

12 39692

12 39712

9 39724

end

begin

14 39692

8 39724

end

luan7 8 zao

qi qi guai guai

##begin

312 39692

142 39712

95 39724

end

含多段 begin, end 資料

#include #include

#main( ) {

FILE *fin;

int a[1000],b[1000],n=0,i;

char one_line[80];

fin=fopen("abc.txt","r");

if (fin==NULL){printf("open file error\n");return 0;}

Lab1:while(1){

#if ( fgets(one_line,80,fin)==NULL){

printf("Can not fund begin any more\n");goto Lab2;}

if (strncmp(one_line,"begin",5)==0)break;

}

for (i=0;i

if (strncmp(one_line,"end",3)==0)break;

sscanf(one_line,"%d %d",&a[n],&b[n]);

n ;

}

goto Lab1;

Lab2: fclose(fin);

#printf("I read:\n");for (i=0;ireturn 0;

}

c語言從txt提取資料如果用分號間隔怎麼辦

fgets 讀取每一行資料 然後利用 strchr 依序找出 分號 ; 出現的位置 然後做對應的轉換就可以了!

這是我寫的一個讀取指定 字串的一個例子 你參考這改下就好了 字串轉浮點數 函數 atof

#include

#include

#define N 10

int readstr(const char* str,char p[][128],int plen,int savepos);

int main()

{

char str[]="2012/10/12;123456.0;456123.0";

char date[N][128]={0};

int len=readstr(str,date,N,0);

for (int i=0;i

{

printf("%s\n",date[i]);

}

return 0;

}

int readstr(const char* str,char p[][128],int plen,int savepos)

{

if(plen

{

printf("數組過小,請更改儲存位置!");

return 0;

}

static int len=0;

char *find=strchr(str,';');

if(find==NULL)

{

strcpy(p[savepos],str);

len ;

return len;

}

else

{

strncpy(p[savepos],str,find-str);

len ;

readstr(find 1,p,N,len);

}

return len;

}

C語言如何在txt中讀取指定字串的下一行資料

用fgets讀入一行,用sscanf 讀出第一列資料

下面假定第一列資料作為字串,用 sscanf(buf,"%s", 。。。格式讀。

類似,整數用 %d 浮點用 %f %lf ....

#include

#include

main(){

char buf[100];

char col[100][30];

int n=0;

FILE *fp = fopen("a.txt", "r");

while ( fgets(buf, 100, fp) != NULL) {

if ( sscanf(buf,"%s",col[n]) == 1){printf("%s\n", col[n]); n ; };

}

return 0;

}

如果要讀每行第一個數,(只讀一位數 用 格式 ):

int x[100];

...

while ( fgets(buf, 100, fp) != NULL) {

if ( sscanf(buf," ",&x[n]) == 1){ printf("%d\n",x[n]);n ;};

以上是如何在C語言中讀取TXT文檔中begin和end之間的兩行字元數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:docexcel.net。如有侵權,請聯絡admin@php.cn刪除