C语言实现从文件中提取连续数字并输出正整数
#include <stdio.h> #include <ctype.h>
int main() { FILE *fin, *fout; fin = fopen("trans.in", "r"); fout = fopen("trans.out", "w");
int num = 0; // 当前数字
int flag = 0; // 标记是否在数字中
char c;
while ((c = fgetc(fin)) != EOF)
{
if (isdigit(c))
{
if (flag == 0 && c == '0') // 过滤掉连续数字最高位的0
continue;
flag = 1;
num = num * 10 + c - '0';
}
else
{
if (flag == 1)
{
fprintf(fout, "%d ", num);
num = 0;
flag = 0;
}
}
}
if (flag == 1) // 处理最后一个数字
fprintf(fout, "%d\n", num);
else
fprintf(fout, "\n");
fclose(fin);
fclose(fout);
return 0;
}
原文地址: https://www.cveoy.top/t/topic/gl44 著作权归作者所有。请勿转载和采集!