Метод c_str
Метод c_str возвращает указатель на константную C-строку,
то есть на массив символов типа const char*, который
завершается нулевым символом '\0'. Сама строка string
при этом не изменяется. Этот метод удобно использовать, когда
нужно передать содержимое объекта string в функции,
которые работают с обычными C-строками, например, в strlen,
strcpy или printf. Параметров метод не принимает.
Синтаксис
str.c_str()
Пример
Давайте получим C-строку из объекта string и выведем её
на экран с помощью cout:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
const char* cstr = str.c_str();
cout << cstr << endl;
return 0;
}
Результат выполнения кода:
"abcde"
Пример
Давайте передадим C-строку в функцию strlen, чтобы
узнать длину строки:
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
string str = "12345";
size_t len = strlen(str.c_str());
cout << len << endl;
return 0;
}
Результат выполнения кода:
5