c++ 流

输入/输出流库
在这里插入图片描述

控制台的输入输出;文件的输入输出;字符串的输入输出

std::ios_base

流类的整个层次结构的基类

public member type

std::ios_base::openmode

流打开模式标志的类型。
此类型的值可以是以下成员常量的任何有效组合

在这里插入图片描述
这些常量在ios基类中定义为 public members。因此,可以被直接引用为ios base的成员(比如ios_base::in),或者通过使用继承的类或实例化的对象,比如ios::ate或cout.out。

std::ios_base::iostate

std::ios

typedef basic_ios ios;

在这里插入图片描述

public member function

std::ios::eof


bool eof() const;
检查是否设置了eofbit:如果为流设置了eofbit错误状态标志,则返回true。

当按流关联的顺序到达 End-of-File时,所有标准输入操作都会设置此标志。

请注意,此函数返回的值取决于对流执行的最后一个操作(而不取决于下一个操作)。

试图在文件末尾读取的操作是失败的,因此eofbit和failbit都最终置位。这个函数可以用来检查失败是由于到达文件末尾还是其他原因。


Return Value
true :如果设置了流的eofbit错误状态标志(表示最后一次输入操作已到达文件末尾),则为true。
false:otherwise.

// ios::eof example
#include <iostream>     // std::cout
#include <fstream>      // std::ifstream

int main () {
  std::ifstream is("example.txt");   // open file
  char c;
  while (is.get(c))                  // loop getting single characters
    std::cout << c;
  if (is.eof())                      // check for EOF
    std::cout << "[EoF reached]\n";
  else
    std::cout << "[error reading]\n";

  is.close();                        // close file
  return 0;
}

头文件<fstream>

http://www.cplusplus.com/reference/fstream/

Narrow characters (char)

ifstreamInput file stream class (class )
ofstreamOutput file stream (class )
fstreamInput/output file stream class (class )
filebufFile stream buffer (class )

Wide characters (wchar_t)

wifstreamInput file stream (wide) (class )
wofstreamOutput file stream (wide) (class )
wfstreamFile stream (wide) (class )
wfilebufFile stream buffer (wide) (class )

实例

fstream

http://www.cplusplus.com/reference/fstream/fstream/

https://www.cnblogs.com/iceix/p/12713895.html

stringstream 类

C++引入了ostringstream、istringstream、stringstream这三个类,分别用来进行流的输入、输出和输入输出操作。要使用他们创建对象就必须包含sstream.h头文件。

<sstream> 主要用来进行数据类型转换,由于 <sstream> 使用 string 对象来代替字符数组(snprintf方式),就避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。简单说,相比c库的数据类型转换而言,<sstream> 更加安全、自动和直接。

字符转换

http://www.cplusplus.com/reference/string/to_string/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值