Метод c_str
Метод c_str класса path возвращает указатель
на строку в стиле C (то есть const char* на большинстве
платформ), которая содержит нативное представление пути.
Метод не принимает параметров. Возвращаемый указатель
указывает на внутренний буфер объекта path и остаётся
валидным до тех пор, пока объект не будет изменён или уничтожен.
Следует помнить, что на разных платформах нативное
представление пути может отличаться: в Windows используется
тип wchar_t, а в Unix-подобных системах - char.
Поэтому для переносимого кода удобнее применять методы
string и wstring, возвращающие объекты
std::string и std::wstring соответственно.
Синтаксис
path.c_str()
Пример
Давайте создадим объект path и выведем его нативное
представление с помощью метода c_str:
#include <iostream>
#include <filesystem>
using namespace std;
using namespace std::filesystem;
int main()
{
path p = "/var/www/index.html";
cout << p.c_str() << endl;
return 0;
}
Результат выполнения кода:
"/var/www/index.html"
Пример
Давайте сохраним указатель, возвращённый методом c_str,
в переменную и выведем его через cout:
#include <iostream>
#include <filesystem>
using namespace std;
using namespace std::filesystem;
int main()
{
path p = "abcde";
const char* res = p.c_str();
cout << res << endl;
return 0;
}
Результат выполнения кода:
"abcde"