Что такое использование функции C_str() в C/C++
Кто-нибудь может сказать мне, как использовать функцию c_str() в C/C++?. В каком случае это нужно использовать?
4 ответа
Это C++, а не C.
Обычное использование c_str (из std::string
) это точно конвертировать в C++ std::string
к const char*
Строка C, которая требуется для многих многих функций C низкого уровня (например, системных вызовов Posix, таких как stat
, так далее).
Когда вы хотите использовать вашу строку с C-функциями
string s = "hello";
printf( "your string:%s", s.c_str() );
Создает завершенную нулем последовательность символов (c-string) с тем же содержимым, что и строковый объект, и возвращает ее в качестве указателя на массив символов.
Вот хороший пример его использования: http://www.cplusplus.com/reference/string/string/c_str/
Я полагаю, вы спрашиваете о string::c_str()
? Это метод, который возвращает строковое представление C string
объект. Например, вам может потребоваться строковое представление C для вызова API OS.