tylerberts Ответов: 4

C++, когда файл настроен на открытие вашей программы, как вы получаете путь к файлу, который его открыл


Я хочу создать простой текстовый редактор, а затем настроить все мои файлы .txt, чтобы открыть мою prgram. но когда моя программа запускается, мне нужно расположение файлов, чтобы я мог получить к ним доступ.

Мне удалось вернуть папку, в которой находится txt-файл. но, кажется, не могу понять, что это такое.
текстовые файлы называют сами себя.

пример: myText.txt-да.

Что я уже пробовал:

Я использую этот код для возврата каталога txt файла но мне также нужно его имя

char path[MAX_PATH];
std::cout << string(path,GetCurrentDirectory(sizeof(path), path)) << endl;

4 Ответов

Рейтинг:
5

tylerberts

Ради завершения я его вычислил. вставьте это в свой код, и вы получите расположение файла, который открыл вашу программу. или то, что другие называют файлом, связанным с ним. или когда вы берете тип файла и щелкаете правой кнопкой мыши. нажмите кнопку Свойства и выбрал открывается и выбрать програме. (Я не ставлю себе в заслугу, что нашел его глубоко в межмире лол)


#include <iostream>
int main( int argc, char* argv[] )
{
использование пространства имен std;
соиь <&ЛТ; АГДС &ЛТ;&ЛТ; " аргументы:" на << епси;
for( int i = 0; i < argc; ++i )
{
соиь <&ЛТ; "[" &ЛТ;&ЛТ; агду[я] &ЛТ;&ЛТ; "] " на << епси;
}
}


Рейтинг:
2

tylerberts

я запустил вашу программу, и это то, что мне нужно. я использовал его, чтобы открыть файл.iod (в основном составленное расширение файла) есть ли способ, которым вы могли бы дать базовый пример, который возвращает путь к файлу в строке.

Рейтинг:
2

KarstenK

Проверьте входные переменные основной функции или обработчика ввода объекта приложения. В нем должен быть полный путь.

Используйте отладчик.


tylerberts

вы имеете в виду argv[0], потому что это возвращает только exe-файл, который я проверил.

Рейтинг:
1

CPallini

Если вы используете свою программу на Windows, затем Explorer следует передать имя документа (то есть текстовый файл) в качестве аргумента командной строки вашему приложению.