Язык C, как сканировать файл с целыми числами в обратном порядке? - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть небольшой файл, содержащий цифры, разделенные новыми строками / пробелами.Я ищу способ сканирования файла, но в обратном порядке.

Input: 1 2 3 4 5 1025
Output: 1025 5 4 3 2 1

Внимание!в следующем коде мне нужно изменить scanf.Мне нужно оставить printf без изменений!Мне не нужно преобразовывать 1024 в 4201, целые числа остаются неизменными.Изменяется только их порядок.

Код:

while (fscanf(input,"%d", &b) && !feof(input)) {printf("%d",b);}

1 Ответ

0 голосов
/ 04 декабря 2018

У вас достаточно большой стек?

void printreverse(FILE *f) {
    int n;
    if (fscanf(f, "%d", &n) != 1) return;
    printreverse(f); // recursive call
    printf("%d", n);
}

https://ideone.com/1jejpM

...