Я не понимаю, как управлять каталогами - PullRequest
0 голосов
/ 06 апреля 2020

Я смотрел много учебников, но многие из них не имеют смысла для меня. Я не новичок в cplusplus, но когда дело доходит до управления каталогами, это становится довольно подавляющим.

То, что я пытался сделать, это получить текущий путь, в котором находится исполняемый файл.

D: \ Users \ Me \ Documents \ Project \ MGen \ MGen.exe

Затем я хочу создать папку, которая возвращается на одну папку из исполняемого файла, если эта папка не существует.

D: \ Users \ Me \ Documents \ Project \ NewFolder

Наконец, я хочу вставить текстовый файл в эту новую папку

D: \ Users \ Me \ Documents \ Project \ NewFolder \ new.txt

Я всю ночь и день чесал голову, но ничего не понял. Я видел много этого

LPCWSTR lpFileName DWORD nBufferLength LPWSTR lpBuffer, LPWSTR *lpFilePart

Но ничего из этого ничего не значит для меня. Я не знаю, что они хотят, что они имеют в виду, что они делают. Какие входные данные они принимают? Я вижу их почти в каждом наборе параметров, связанных с каталогами.

1 Ответ

0 голосов
/ 06 апреля 2020

Вы не перечислили функции, которые использовали, поэтому в качестве примера я буду использовать fopen.

fopen ("thisfile.txt", 'r'); будет целевым каталогом, из которого заканчивается .exe. Если thisfile.txt существует в этом каталоге, он откроет его для чтения.

fopen ("../ thisfile.txt", 'r'); будет искать в каталоге под той, в которой работает .exe. Например, если исполняемый файл находится в D: \ Users \ Me \ Documents \ Project \ MGen \, команда будет выглядеть в D: \ Users \ Me \ Documents \ Project для TXT-файла.

, если вы хотите найти файл в D: \ Users \ Me \ Documents \ Project \ NewFolder, поместите это. fopen ("../ NewFolder / thisfile.txt", 'r');

вы также можете перемещаться назад по нескольким каталогам, добавляя несколько ../../

Также: LPCWSTR is указатель на массив const wchar. DWORD - это 32-битное значение (здесь вы вводите число). LPWSTR - это указатель на массив wchar.

Если вы предоставите некоторый код и больше подробностей, я могу дать вам лучший ответ о том, что вы должны поместить туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...