优化#include <stdio.h> // 函数extractDigit的功能:从文件a.txt中提取数值写入文件b.txt中 void extractDigit(); // 请在此添加代码,实现extractDigit函数 /********** Begin *********/ char read(FILE *pi) { char c=fgetc(pi); if (c==EOF) { return EOF; } if (c<'0' || c>'9') { c=fgetc(pi); if (c==EOF) { return EOF; } } return c; } void extractDigit() { FILE *fa; FILE *fb; fa=fopen("a.txt","r"); fb=fopen("b.txt","w"); if (fa==NULL || fb==NULL) { return; } char c=read(fa); int num=0,k=0; while (c!=EOF) { num=num*10+c-'0'; k++; if (k==3) { fprintf(fb,"%d",num); k=0; num=0; } c=read(fa); } if (k!=0) { fprintf(fb,"%d",num); } fclose(fa); fclose(fb); } /********** End **********/
时间: 2024-01-17 10:40:11 浏览: 128
在C语言中,文件读写操作主要通过标准库中的stdio.h头文件提供的函数来实现 这些函数包括fopen()用于打开文件,fclo
这段代码实现了从文件a.txt中提取数值并将其写入文件b.txt中的功能。具体实现方法是:定义了一个辅助函数read用于读取文件中的字符,当读到数字字符时返回该字符,否则继续读取直到读到数字字符为止。然后在extractDigit函数中,先打开a.txt和b.txt文件,如果文件打开失败则直接返回。接着使用read函数读取文件a.txt中的字符,将读到的数字字符转化为整型数,并且每读取3个数字字符就将其写入文件b.txt中。最后关闭文件a.txt和b.txt。
阅读全文