我需要将std::string
转换为const char*
。
为此,我在字符串上使用了c_str()
方法,如下面的代码所示:
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string testStr;
cin >> testStr;
const char* testStrConst = testStr.c_str();
cout << testStrConst << endl;
return 0;
}
如果我在终端中键入"Hey hello"
,则此代码运行时,输出仅为"Hey"
。
为什么忽略第二个词?
答案 0 :(得分:5)
因为它从来不是A&
的一部分。
std::string
运算符只读取一个以空格分隔的单词。
使用>>
代替std::getline()
来阅读标准输入中输入的整行文字。
>>