string input_a;
string input_b;
cout << "Input a :" ;
getline(cin,input_a);
cout << "Input b :" ;
cin >> input_b;
cout << "Input a :" << input_a <<endl
<< "Input b :" << input_b;
return 0;
getline(cin,input_a)
和cin >> input_b
如何在内部工作以接受输入值?有什么区别以及什么时候正确申请?
困惑,特别是在比较给定的字符串时。
答案 0 :(得分:0)
&#34; getline&#34;之间的应用差异和&#34; cin&gt;&gt;&#34;那是&#34; getline&#34;将整个字符串与空格一起使用,而&#34; cin&gt;&gt;&#34;命令只接受一个没有多余空格的字符串。
例如:如果我们想要扫描&#34; Hello World &#34;来自用户使用&#34; cin&gt;&gt;&#34;命令,我们不能得到整个字符串。只有&#34; 您好&#34;将被存储。然而,&#34; getline&#34;将帮助我们存储整行字符串&#34; Hello World &#34;。
答案 1 :(得分:0)
istream& getline (istream& is, string& str, char delim);
istream& getline (istream& is, string& str);
将字符从is中提取到str,直到分隔字符,或者默认为“\ n”。
对于案件cin, 实际上没有“&gt;&gt;”在全局命名空间中运算符,它正在调用函数
istream& operator>> (istream& is, string& str)
Argument-dependent lookup
或std
在Koenig lookup
命名空间中的这实际上使用空格作为分隔符,因此它提取一个单词而不是整个句子。这与getline的不同之处在于获得整条生产线。