Как сохранить строку, полученную функцией 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());