首页 >软件教程 >办公软件 >如何在C语言中读取TXT文档中begin和end之间的两行字符数据

如何在C语言中读取TXT文档中begin和end之间的两行字符数据

WBOY
WBOY转载
2024-01-09 08:34:13770浏览

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 errorn");return 0;}

Lab1:while(1){

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

printf("Can not fund begin any moren");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("%sn",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("%sn", col[n]); n++; };

}

return 0;

}

如果要读每行第一个数,(只读一位数 用 格式 %1d):

int x[100];

...

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

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

以上是如何在C语言中读取TXT文档中begin和end之间的两行字符数据的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:docexcel.net。如有侵权,请联系admin@php.cn删除