Решаю универскую задачку и встал вопрос: а как считать из файла неизвестное число строк исключительно на языке СИ? На с++ таких проблем нет, а вот как это сделать тут? Например, имею следующий код, который перенаправляет поток ввода из консоли в файл:
#include<stdio.h>
#include<stdlib.h>
#include<string>
int main()
{
freopen("input.txt", "r", stdin);
while (true)
{
char buff[100];
scanf("%s", buff);
if (!strlen(buff))//пытаюсь таким образом определить конец файла
break;
}
}
На c++ можно остановить ввод с помощью !file.eof(), есть ли в данном случае сишная альтернатива? Заранее спасибо за ответ!
UPD: нашёл информацию о EOF и в си, но непонятно с чем сравнивать этот макрос в примере, чтоб понять - закончился ли файл.
freopenиscanfфункцией. Во всяком случае, ваш ответ натолкнул меня на решение и кажется получилось! – Максим Герасимов Feb 20 '22 at 15:38