Как узнать текущую директорию в C++?

Пользователь

от kenya , в категории: C/C++ , 2 года назад

Как узнать текущую директорию в C++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

@kenya Чтобы узнать текущую директорию ( Путь до исполняемого файла ), Вы можете воспользоваваться аргументами int argc, char* argv[] к main-функции.

1
2
3
4
5
6
7
#include <iostream>

int main(int argc, char* argv[]) { // В аргументы функции ставим char* argv[], в котором содержится путь до файла
    std::cout << argv[0] << std::endl;
    return 0;
}


Пользователь

от fidel , год назад

@kenya 

В C++ для получения текущей директории можно использовать стандартную библиотеку filesystem. Для этого можно воспользоваться функцией current_path() из пространства имен std::filesystem.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    fs::path currentDir = fs::current_path();
    std::cout << "Current directory: " << currentDir << std::endl;
    return 0;
}


В этом примере мы используем current_path() для получения текущей директории и выводим ее на экран. Важно отметить, что для использования filesystem в C++ необходим компилятор, поддерживающий стандарт C++17.