求C语言程序:怎么将txt文件提取出的数据放到另一个txt文件里(请不能提供C语言程序的同学不要回答)

如何用C语言提取txt文本中大量的数据,如A01+000.7A01+000.8A01-000.9等等,结果为 000.7 000.8 -0.009
文件如下,文件路径为D:\进针实验\实验\1号-1.txt

几十万个数据,提取A01后面的数据(包括“+”或“-”),数据之间用空格分开,并且要求每提取出一个数据就存入文件D:\进针实验\实验\1号-1.txt,且存入文件1-1.txt中的数据要求每10个为一行,求C语言程序并能成功运行。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int cmp(char st[],char stt[]);

int main(int argc, char *argv[]) 

{

FILE *fp,*fpp;

char ch,st[3];

int i = 0,len = 0;

strcpy(st,"");

fp = fopen("D:\\进针实验\\实验\\1号-1.txt","r");

fpp = fopen("D:\\进针实验\\实验\\1号-1rename.txt","w");

while(fscanf(fp,"%c",&ch) != EOF)

{

if(len == 3)

{

if(st[0] != '+')

fprintf(fpp,"%c",st[0]);

st[0] = st[1];

st[1] = st[2];

st[2] = ch; 

}else

{

st[len++] = ch;

}

if(cmp(st,"A01"))

{

if(i > 0 && i != 10)

fprintf(fpp," ");

i++;

if(i == 11)

{

i = 1;

fprintf(fpp,"\n");

}

strcpy(st,"");

len = 0;

}

}

fprintf(fpp,"%c",st[0]);

fprintf(fpp,"%c",st[1]);

fprintf(fpp,"%c",st[2]);

fclose(fp);

fclose(fpp);

remove("D:\\进针实验\\实验\\1号-1.txt");

rename("D:\\进针实验\\实验\\1号-1rename.txt","D:\\进针实验\\实验\\1号-1.txt");

return 0;

}


int cmp(char st[],char stt[])

{

int i;

for(i = 0;i < 3;i++)

if(st[i] != stt[i])

return 0;

return 1;

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-28
bamboos225|
四级最快回答 全局替换,A01替换成空格不就行了吗,用得着C语言吗?这是最佳答案!!!
第2个回答  2013-08-26
全局替换,A01替换成空格不就行了吗,用得着C语言吗?