cin.getline()怎么使用
时间: 2023-10-22 07:10:50 浏览: 39
cin.getline()是C++中的一种输入函数,用于从标准输入流中读取一行字符串。
它的语法如下:
cin.getline(char_array, size, delimiter);
其中,char_array是一个字符数组,用于存储读取的字符串;size是字符数组的大小;delimiter是可选参数,用于指定读取字符串的终止符,默认为换行符('\n')。
例如,以下代码从标准输入流中读取一行字符串,并将其存储在名为str的字符数组中:
```
#include <iostream>
using namespace std;
int main() {
char str[100];
cin.getline(str, 100);
cout << "Input string is: " << str << endl;
return 0;
}
```
如果要指定终止符为' '(空格),可以将第三个参数设置为' ':
```
cin.getline(str, 100, ' ');
```
注意,cin.getline()会自动在读取的字符串末尾添加一个空字符('\0'),因此不需要手动添加。此外,如果读取的字符串长度大于指定的大小,cin.getline()只会读取部分字符串,并在达到指定大小时停止读取。
相关问题
getline 与 cin.getline
getline()和cin.getline()都是用于从输入流中读取一行字符串的函数,但是它们有一些不同之处。
getline()是string类的成员函数,可以从任何输入流(包括cin)中读取一行字符串,并将其存储在一个string对象中。getline()函数的语法如下:
```cpp
getline(cin, str);
```
其中,cin是输入流对象,str是存储读取字符串的string对象。
而cin.getline()是istream类的成员函数,只能从标准输入流(即cin)中读取一行字符串,并将其存储在一个字符数组中。cin.getline()函数的语法如下:
```cpp
cin.getline(char_array, size);
```
其中,char_array是一个字符数组,用于存储读取的字符串,size是字符数组的大小。
下面是两个使用getline()和cin.getline()的例子:
```cpp
// 使用getline()函数读取一行字符串
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str);
cout << str;
return 0;
}
// 使用cin.getline()函数读取一行字符串
#include <iostream>
using namespace std;
int main() {
char line[100];
cin.getline(line, 100);
cout << line << endl;
return 0;
}
```
cin.getline
getline和cin.getline都是C++中的输入函数,用于从输入流中读取一行字符串。
其中,getline函数的语法为:
```cpp
getline(istream& is, string& str, char delim);
```
其中,is表示输入流对象,str表示存储读取结果的字符串对象,delim表示分隔符,用于指定读取一行字符串的结束位置。如果不指定分隔符,则默认为换行符。
而cin.getline函数的语法为:
```cpp
cin.getline(char* str, streamsize count, char delim);
```
其中,str表示存储读取结果的字符数组,count表示最多读取的字符数,delim表示分隔符,用于指定读取一行字符串的结束位置。如果不指定分隔符,则默认为换行符。
需要注意的是,getline函数返回的是输入流对象,而cin.getline函数返回的是输入流对象的引用。另外,getline函数读取的字符串包括分隔符,而cin.getline函数读取的字符串不包括分隔符。