Я просто выполняю некоторую работу, и весь файл из потока ("C:\mydir\blahblah\blah.txt") кажется довольно жестким.
Есть ли способ разрешить пользователю создавать каталог? Недавно я освоил, когда пользователь сам определяет имя файла с помощью.c_str(), так что это будет только уровень выше этого? Или, учитывая новичку, на которой я нахожусь, было бы проще быть удовлетворенным жестким кодированием каталога? В любом случае это будет интересный код для изучения.
Да, вы можете позволить пользователю ввести каталог. Когда вы открываете файл, вам просто нужно предоставить строку - это не имеет никакого значения, жестко ли она записана в программу, введена в командной строке (и читается из argv
) или введена во время выполнения пользователем,
Обратите внимание, что если вы выполняете жесткий код имени каталога с помощью обратных косых черт в исходный код, вам нужно удвоить каждую обратную косую черту, поэтому имя в вопросе должно быть c:\\mydir\\blahblahblah\\blah.txt
.
main
с argc и argv, у вас есть путь к самому исполняемому файлу, и вы можете затем добавить или вычесть это. Вы можете быть заинтересованы в относительных путях. Если вы используете что-то вроде библиотеки fstream, вы можете передавать относительные пути для открытия и закрытия функций:ifile.open("../common/text.txt");