Как сохранить строку, полученную функцией getline() в массив символов?

#include<iostream>
using namespace std ; 
int main()
{
    string str ;
    getline(cin,str);
    return 0 ;
}

Теперь я хочу сохранить строку, полученную с помощью getline(), в массив символов. Мне было интересно, что делать после этого?

Извините, если это очень простой вопрос. Я новичок. Спасибо

1 ответ

Если ваша единственная цель состоит в том, чтобы произвести char* что вы можете передать в функцию, вы можете просто использовать c_str() чтобы получить char* вне std::string,

const char* cstring = str.c_str();

Если вы хотите скопировать его в существующий char[] тогда вы можете использовать strncpy при условии, что в вашей строке нет символов NULL.

char buffer[MAX_LINE_SIZE];
strncpy(buffer, str.c_str(), str.size());
Другие вопросы по тегам