因为cin在读入字符串时,遇到空白字符(空格、制表符、换行符)会停止读取数据,为了解决为个问题,可以使用getline函数。
getline函数:getline(cin, inputLine);
其中 cin 是正在读取的输入流,而 inputLine 是接收输入字符串的 string 变量的名称。
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> #include <string> using namespace std; int main(){ string FullName; cout <<"Type your name: "; cin >>FullName; // get user input from the keyboard // getline(cin,FullName); cout <<"Your name is: "<<FullName<<endl; } |
使用getline函数输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | include <iostream> #include <string> using namespace std; int main() { string str; cout << "Please enter your fullname: \n"; getline(cin, str); cout << "Hello, " <<str<<"welcome to Beijing !\n"; return 0; } |
getline可以加第三个参数,第三个参数为结束符号。
1 2 3 4 5 6 7 8 9 10 11 | #include <iostream> #include <string> using namespace std; int main() { string a; getline(cin,a,'.'); cout<<a<<endl; return 0; } |