Я делаю некоторые базовые манипуляции с файлами и хотел бы сохранить имя файла, передаваемого исполняемой программе на C, и создать новый файл с расширением, привязанным к исходному имени файла.Например, если бы это было то, что я набрал в командной строке:
a.out < some_file.txt
Где a.out
- исполняемый файл, есть ли способ получить строку some_file.txt
, чтобы я мог открыть новуюфайл и назовите его some_file.text.mod
или что-то еще?
argv[0]
возвращает вас a.out
, и в сценариях вы можете использовать $1
для доступа к аргументам (но не к именам файлов, используемым при перенаправлении), но нииз них много пользы здесь.
Есть идеи?