У меня возникли трудности с записью функции на C, которая проверяет, существует ли пользовательский файл (через stdin
). Например, если программа запущена как ./a.out <myfile.txt
, я хочу, чтобы она вернула false, если этот файл не существует. Я могу сделать это путем передачи файла в качестве аргумента (т.е. ./a.out myfile.txt
) с помощью fopen()
, но не знаю, как это сделать с помощью «стандартного ввода» (т.е. ./a.out <myfile.txt
)Проверка наличия файла через stdin (C)
Ok уточнить:
Чем больше программы должен взять содержимое текстового файла и выполнить на нем действия. Программа должна запускаться в командной строке как ./a.out arg1 arg2 <myfile.txt
. Если пользователь запускал программу как ./a.out arg1 arg2
или ./a.out
(т. Е. Не указывая файл для выполнения действий), я хочу предложить пользователю включить файл (используя stdin <
, не переданный в качестве аргумента).
Если файл не существует, оболочка не запускает вашу программу. – Barmar
@Barmar да, но это часть более крупной программы, которую я пишу, и я хочу напечатать 'введите действительный файл', если он не существует. – Martin
Перед попыткой запустить программу необходимо проверить, существует ли файл. – Barmar