I ввод текстового файла в моей программе C помощью Перенаправление <
ввода/вывода в терминале:Как повторно использовать (перемотка назад) перенаправленный файл в C
MyProgram.exe < "data.txt"
, а затем использовать getchar()
и scanf()
в моем код для чтения с перенаправленного ввода. Однако, поскольку это перенаправленный файл, я не могу использовать указатель файла C для перемотки буфера.
(Я хочу подсчитать количество строк в файле произвольного размера, чтобы я мог инициализировать массив, тогда я хочу перечитать файл, используя getchar()
и/или scanf()
).
Как достичь перемотки или флеши при использовании перенаправленного ввода?
вы не можете перемотать назад –
Вы действительно попробовали перемотать его? fseek работает только на stdin, когда stdin является обычным файлом, и когда вы перенаправляетесь так, stdin является обычным файлом. –
@ Lashane: Учитывая, что стандартный вход поступает из файла диска, его можно перематывать так же, как и любой другой поток файлов, подключенный к файлу диска. –