全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

istream的类方法?常用的istream的类方法有哪些?

时间:2023-07-18 15:15

人气:

作者:admin

标签:     常用的  istream  方法 

导读:方法get(char)和get(void)提供不跳过空白的单字符输入功能;...

1. istream的类方法

常用的istream的类方法有:

  • 方法get(char&)get(void)提供不跳过空白的单字符输入功能;
  • 函数get(char*, int, char)getline(char*, int, char)在默认情况下读取整行而不是一个单词。

单字符输入

在使用char参数或没有参数的情况下,get()方法读取下一个输入字符,即使该字符是空格、制表符或换行符。

get(char & ch)------该版本将输入字符赋给其参数,并返回调用对象(cin)。
get(void)-----------该版本将输入字符转换为整型(通常是int),并将其返回。

两者的主要特性如下:

1.jpg

字符串输入

getline()成员函数和get()的字符串读取版本都读取字符串,它们的函数特征标相同(这是从更为通用的模板声明简化而来的):

istream & get(char *, int, char);
istream & get(char *, int);
istream & getline(char *, int, char);
istream & getline(char *, int);

:第一个参数是用于放置输入字符串的内存单元的地址。第二个参数比要读取的最大字符数大1(额外的一个字符用于存储结尾的空字符,以便将输入存储为一个字符串)。第3个参数指定用作分界符的字符,只有两个参数的版本将换行符用作分界符。上述函数都在读取最大数目的字符或遇到换行符后为止】

例如:

char line[50];
cin.get(line, 50);//cin.get( )函数将在到达第49个字符或遇到换行符(默认情况)后停止将输入读取到数组中

get()getline()之间的主要区别在于,get()将换行符留在输入流中,这样接下来的输入操作首先看到的将是换行符,而getline()抽取并丢弃输入流中的换行符。】

如何忽略字符串中某些内容呢?C++为我们提供了ignore( )函数,该函数的原型如下:

//第一个参数是一个数字,指定要读取忽略的最大字符数,默认为1
//第二个参数是一个字符,用作输入的分界符,默认为EOF
istream & ignore(int = 1, int = EOF);

//eg:
if (ch != 'n') cin.ignore(255, 'n');  //可以用来忽略上次输入流中残余的字符串

2. 其他istream方法

除前面讨论过的外,其他istream方法包括read()peek()gcount()putback()

1.jpg

其使用方法如下:

//read()
char read_arr[100];
cin.read(read_arr, 100);//其返回值类型为istream &,可以这样拼接使用:cin.read(read_arr, 10).read(read_arr + 10, 90);

//peek()
char input[100];
int i = 0;
while(cin.peek() != '.')
    cin.get(input[i++]);
input[i]='�';

//gcount()
char arr[20]; 
istringstream stream("abc"); 
stream.read(arr, sizeof arr); 
auto count = stream.gcount();//count = 3

//putback()
char c;
int n;
char str[256];
cout < < "Enter a number or a word: ";
c = cin.get();
if ((c >= '0') && (c <= '9')) {
    cin.putback(c);
    cin > > n;
    cout < < "You have entered number " < < n < < endl;
} else {
    cin.putback(c);
    cin > > str;
    cout < < " You have entered word " < < str < < endl;
}
温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信