#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;

}

C语言实现从文件中提取连续数字并输出正整数

原文地址: https://www.cveoy.top/t/topic/gl44 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录