输入/输出流库
控制台的输入输出;文件的输入输出;字符串的输入输出
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)
ifstream | Input file stream class (class ) |
ofstream | Output file stream (class ) |
fstream | Input/output file stream class (class ) |
filebuf | File stream buffer (class ) |
Wide characters (wchar_t)
wifstream | Input file stream (wide) (class ) |
wofstream | Output file stream (wide) (class ) |
wfstream | File stream (wide) (class ) |
wfilebuf | File 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/