cin.get()函数
时间: 2023-06-21 07:15:24 浏览: 47
cin.get() 是 C++ 中的一个输入函数,它可以从标准输入流(通常是键盘)中读取一个字符,包括空格、制表符和换行符等。与其他输入函数(如 cin 和 getchar())不同的是,cin.get() 可以读取输入流中的任何字符,而不仅仅是下一个字符。
cin.get() 函数的语法如下:
```c++
int cin.get();
int cin.get(char& ch);
int cin.get(char* str, int n, char delim);
```
第一个函数 cin.get() 用于读取输入流中的下一个字符,并返回其 ASCII 码值。如果读取到文件结尾或出现读取错误,则返回 -1。
第二个函数 cin.get(char& ch) 用于读取输入流中的下一个字符,并将其保存到参数 ch 所指向的内存单元中。如果读取到文件结尾或出现读取错误,则返回 -1。
第三个函数 cin.get(char* str, int n, char delim) 用于读取输入流中的字符,并将它们保存到指定的字符数组 str 中,直到读取到 delimeter(默认是换行符)或者读取了 n-1 个字符为止。读取到 delimeter 时,它也会被读取但不会被保存到 str 中。函数返回读取的字符数,不包括字符串的结尾标志 '\0'。如果读取到文件结尾或出现读取错误,则返回 -1。
相关问题
C++中cin.get函数用法
cin.get() 是 C++ 标准输入流(cin)提供的一个函数,用于从输入流中读取字符。它的用法如下:
```
cin.get(char_variable);
```
其中,char_variable 是一个 char 类型的变量,用于存储读取到的字符。
你也可以通过下面的方式读取多个字符:
```
cin.get(char_array, size);
```
其中,char_array 是一个字符数组,用于存储读取到的字符序列,size 是最多读取的字符数,当读取到 size-1 个字符或遇到换行符时,读取操作将停止。
另外,cin.get() 函数也可以与流提取运算符(>>)组合使用,以读取输入流中的其他类型数据。例如:
```
int num;
cin.get(num);
```
这将从输入流中读取一个整数。
cin.get()函数和cin.getline
cin.get()函数和cin.getline()函数都可以用于从标准输入读取字符序列,但它们有一些区别。
cin.get()函数用于读取单个字符,并且可以指定读取的最大字符数。它的语法如下:
```cpp
istream& get (char& c);
istream& get (char* s, streamsize n);
istream& get (char* s, streamsize n, char delim);
```
第一个形式的get()函数将读取一个字符并将其存储在参数c中。第二个形式的get()函数将读取n-1个字符或直到遇到换行符,将这些字符存储在参数s指向的字符数组中,并在最后加上空字符'\0'。第三个形式的get()函数与第二个形式类似,但它还会在读取完n-1个字符或遇到分隔符delim时停止读取。
cin.getline()函数用于读取一行字符序列,并且可以指定读取的最大字符数。它的语法如下:
```cpp
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
```
第一个形式的getline()函数将读取n-1个字符或直到遇到换行符,将这些字符存储在参数s指向的字符数组中,并在最后加上空字符'\0'。第三个形式的getline()函数与第二个形式类似,但它还会在读取完n-1个字符或遇到分隔符delim时停止读取。
两者的主要区别在于对于cin.getline()函数,输入结束标志是换行符,而对于cin.get()函数,输入结束标志可以是换行符或其他标志符。此外,cin.getline()函数会自动在末尾添加空字符'\0',而cin.get()函数不会。