cin.get();getline(cin,str);
时间: 2024-02-26 22:49:16 浏览: 85
在C++中,cin.get()和getline(cin,str)都是用于从标准输入流中读取字符串的函数。它们的区别在于读取字符串的方式和读取的细节。
1. cin.get()
cin.get()函数可以读取指定数量的字符,包括空格和换行符,并将其存储在字符数组中。当读取的字符数达到指定数量时,cin.get()会自动停止读取。如果读取的字符数小于指定数量,则会在读取完所有字符后自动停止。如果读取的字符数超过了指定数量,则会在达到指定数量后停止读取,并将剩余的字符留在输入缓冲区中。cin.get()函数的语法如下:
```c++
cin.get(char_array, size, delimiter);
```
其中,char_array是一个字符数组,用于存储读取的字符;size是要读取的字符数;delimiter是可选参数,用于指定读取的终止字符,默认为换行符。
下面是一个使用cin.get()函数读取字符串的例子:
```c++
#include <iostream>
using namespace std;
int main() {
char str[20];
cin.get(str, 20);
cout << str << endl;
return 0;
}
```
2. getline(cin, str)
getline(cin, str)函数可以读取一行字符串,包括空格和换行符,并将其存储在string类型的变量中。getline()函数会读取输入流中的所有字符,直到遇到换行符为止。换行符被读取后会被丢弃,不会存储在string变量中。getline()函数的语法如下:
```c++
getline(cin, str, delimiter);
```
其中,str是一个string类型的变量,用于存储读取的字符串;delimiter是可选参数,用于指定读取的终止字符,默认为换行符。
下面是一个使用getline()函数读取字符串的例子:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str);
cout << str << endl;
return 0;
}
```
阅读全文