【问题标题】:How to store a string got by getline() function into a character array?如何将 getline() 函数得到的字符串存储到字符数组中?
【发布时间】:2014-10-08 21:48:30
【问题描述】:
#include<iostream>
using namespace std ;
int main()
{
string str ;
getline(cin,str);
return 0 ;
}
现在我想将 getline() 得到的字符串存储到一个字符数组中。
我想知道这之后该怎么办?
抱歉,这是一个非常基本的问题。我是初学者。谢谢
【问题讨论】:
标签:
c++11
getline
character-arrays
【解决方案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());