C++输入一行字符串 getline/get/getline

getline() :对于字符数组
读入整行数据,它使用回车键输入的换行符来确定输入结尾。getline()将丢弃换行符.
调用方法: cin.getline(str, len);
第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数。

 1 #include <iostream>

 2 using namespace std;

 3  

 4 int main()

 5 {

 6     char str[30];

 7     cin.getline(str, 30);

 8     cout << str << endl;

 9     return 0;

10 }
View Code

 

get() :对于字符数组

读入整行数据,它使用回车键输入的换行符来确定输入结尾。get()将换行符保留在输入序列里.

再使用cin.get()输入多行数据时,中间可以使用get()消除换行符。因为get(str, len)和get()都是cin的类成员,所以可以合并起来写.

调用方法:cin.get(str, len);

第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数。

 1 #include <iostream>

 2 using namespace std;

 3  

 4 int main()

 5 {

 6     char str1[30], str2[30];

 7     cin.get(str1, 30);

 8     cin.get();

 9 

10     /* cin.get(str1, 30).get();   // 注意这里 */

11 

12     cin.get(str2, 30);

13     cout << "str1: " << str1 << endl;

14     cout << "str2: " << str2 << endl;

15     return 0;

16 }
View Code

 

getline() :对于String类

 1 #include <iostream>

 2 #include <string>

 3 using namespace std;

 4  

 5 int main()

 6 {

 7     string str;

 8     getline(cin, str);

 9     cout << str << endl;

10     return 0;

11 }
View Code

 

你可能感兴趣的:(C++)