C语言实现从文件中提取连续数字正整数
C语言实现从文件中提取连续数字正整数
本文将介绍如何使用C语言从一个包含数字和非数字字符的文件中提取所有连续数字组成的正整数,并将其输出到另一个文件。
需求描述:
假设有一个文件trans.in,其中包含数字、非数字字符以及空格等,例如:df-23adfd56 2343?23dgjop00535。我们需要将该文件中所有连续数字组成的正整数提取出来,并将其依次输出到另一个文件trans.out中,每个整数之间用空格隔开,最后以回车符结尾。同时,要过滤掉连续数字最高位的0,不考虑负号。
**代码实现:**c#include <stdio.h>#include <ctype.h>
int main() { FILE *fin, *fout; fin = fopen('trans.in', 'r'); fout = fopen('trans.out', 'w'); if (fin == NULL || fout == NULL) { printf('文件打开失败 '); return 0; } int c, num = 0; while ((c = fgetc(fin)) != EOF) { if (isdigit(c)) { num = num * 10 + c - '0'; } else { if (num > 0) { fprintf(fout, '%d ', num); num = 0; } } } if (num > 0) { fprintf(fout, '%d', num); } fprintf(fout, ' '); fclose(fin); fclose(fout); return 0
原文地址: http://www.cveoy.top/t/topic/gl5U 著作权归作者所有。请勿转载和采集!