从c++ istringstream读取字符(二)

本文详细介绍了C++中istringstream的get、getline和read三个方法,分别用于从流中提取单个字符、读取c字符串以及按字节数读取数据。每个方法的使用场景、功能及样例代码都有清晰的阐述,特别是对于分隔符处理和读取字符数量的特性进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

get、getline、read

get
  1. single character

    int get();
    istream& get (char& c);
    

    功能:从流中提取单个字符。返回该字符(第一个方法),或将其设置为参数的值(第二个方法)。

  2. c-string

    istream& get (char* s, streamsize n);
    istream& get (char* s, streamsize n, char delim);
    

    从流中提取字符并将其作为c字符串存储在s中,直到提取(n-1)个字符或遇到定界字符为止:定界字符为换行符(’\ n’)或delim (如果指定了此参数)。
    如果找到了分隔符,则不会从输入序列中将其提取出来,而是保留在那里,作为要从流中提取的下一个字符(有关删除分隔符的替代方法,请参见getline)。
    如果n大于零,即使提取了一个空字符串,也会自动将一个空字符(’\ 0’)附加到写入的序列中。

  3. stream buffer

    istream& get (streambuf& sb);
    istream& get (streambuf& sb, char delim);
    

    从流中提取字符,并将其插入到流缓冲区对象sb控制的输出序列中,一旦插入失败或输入序列中遇到定界字符,则停止(定界字符为换行符) 字符,’\ n’或delim(如果指定了此参数)。
    从流中仅提取成功插入sb中的字符:既不会从输入序列中提取定界字符,也不会最终未能在sb中插入的字符从输入序列中提取,并保留在那里,作为下一个要从流中提取的字符。

样例:

    std::string s("25Hello5World#Test");
    std::istringstream iss(s);
    // get
    // get single character
    std::cout <<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值