#include <iostream>
#include <string>
using namespace std;
int main()
{
string username;
cout<< "username" ;
cin >> username;
}
Run Code Online (Sandbox Code Playgroud)
所以我很好奇这两个代码之间有什么区别,我听说它是一样的但是如果是那么为什么有两种方法可以做到呢?
#include <iostream>
#include <string>
using namespace std;
int main()
{
string username;
cout << "username" ;
getline (cin,username) ;
}
Run Code Online (Sandbox Code Playgroud)
Naw*_*waz 10
不同之处在于std::getline- 顾名思义 - 从给定的输入流中读取一行(可能就是这样std::cin)并operator>>读取一个单词1.
也就是说,std::getline读取直到找到换行符并operator>>读取直到空格(由定义std::isspace)并找到.两者都从流中删除它们各自的分隔符,但不将它放在输出缓冲区中.
1.请注意,>>还可以阅读的数字- ,int,short,float,char等.