Что такое использование функции 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.

Другие вопросы по тегам