我需要将a转换std::string为a 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;
}
Run Code Online (Sandbox Code Playgroud)
如果我输入"Hey hello"终端,当此代码运行时,输出只是"Hey".
为什么第二个词被忽略了?
因为它从来都不是std::string第一名的一部分.
该>>运营商只读取单个空格分隔字.
使用std::getline()而不是>>读取在标准输入上输入的整行文本.
string testStr;
getline(cin, testStr);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |