本文共 2252 字,大约阅读时间需要 7 分钟。
流类库是C++标准库中用于数据输入输出的核心组件,涵盖了标准I/O、文件I/O以及字符串I/O等功能。通过流类库,程序能够高效地与键盘、显示器以及文件进行数据交互。本文将从基础知识出发,逐步介绍流类库的使用方法。
C++流类库主要由三个头文件组成:
<iostream>
std::cin(键盘输入流)、std::cout(显示器输出流)、std::cerr(非缓冲错误输出流)和std::clog(缓冲错误输出流)。该头文件包含了基本的输入输出功能,适用于大多数C++程序。<iomanip>
std::setw 用于控制字段宽度,std::setfill 用于设置填充字符。<fstream>
std::ifstream(文件输入流)、std::ofstream(文件输出流)和std::fstream(双向文件流)。这些类允许程序与文件进行数据交换。C++流类库的核心是<iostream>,其派生出了三个关键类:
<iostream>:提供通用输入输出功能。<fstream>:提供文件输入输出功能。<sstream>:提供字符串输入输出功能。所有这些类均以<ios>类为基类,<ios>类定义了控制输出格式的成员变量和函数。例如,flags 函数用于设置输出格式标志,width 函数用于设置输出字段宽度。
<ios>类的核心功能<ios>类是流类库的基类,主要功能包括:
flags 函数设置输出格式标志,如左对齐、右对齐、定点表示法等。fill 和 flush 函数控制缓冲区的填充字符和刷新。precision 函数设置浮点数的显示精度。<ios>类还定义了多个常用操作符:
>>(>):用于从输入流中读取数据。<<(<):用于将数据写入输出流。<iostream> 提供了标准输入输出流对象 std::cin 和 std::cout。
std::cin:代表标准输入流(键盘输入流),用于从键盘读取数据。
std::cin >> var;,其中 var 是程序中定义的变量。std::cout:代表标准输出流(显示器输出流),用于向标准输出(显示器)写入数据。
std::cout << "Hello, World!" << std::endl;输入流操作可以通过重载的 >> 运算符实现。输入流支持多种数据类型,例如:
std::string name;std::cin >> name;
需要注意的是,输入流会自动处理输入的空白字符(如空格、制表符、换行符等)。
输出流操作可以通过重载的 << 运算符实现。输出流支持多种数据类型的格式化输出。例如:
std::cout << "商品名称: " << name << ", 价格: " << price << std::endl;
输出流支持格式化操作符,例如:
std::setw(10):设置输出字段宽度。std::setfill(' '):设置填充字符。文件输入输出流允许程序与文件进行数据交互。<fstream> 类提供了三个关键类:
std::ifstream:文件输入流,用于从文件中读取数据。std::ofstream:文件输出流,用于向文件中写入数据。std::fstream:双向文件流,支持读写操作。文件流对象需要通过 open 函数打开文件,指定文件名和打开模式。例如:
std::ofstream fout("file.txt", std::ios::out);std::ifstream fin("file.txt", std::ios::in); 文件流操作需要在使用完毕后关闭,以释放文件资源:
fout.close();fin.close();
文件输入流支持从文件中读取数据,文件输出流支持将数据写入文件。例如:
std::string name;double price;fin >> name >> price;fout << name << ", " << price << std::endl;
文件流还支持随机访问,通过 seekg 和 seekp 函数可以移动读写指针到指定位置。
C++流类库提供了强大的格式化输出功能,常见的格式化控制包括:
std::setw 和 std::setfill 用于控制输出字段的宽度和填充字符。std::fixed 和 std::scientific 用于控制浮点数的表示方式。std::precision 用于设置浮点数的小数精度。例如:
std::cout << std::fixed << std::setprecision(2) << 123.456789 << std::endl;
输出结果为:
123.46
流类库是C++程序员的重要工具,涵盖了标准输入输出、文件操作以及格式化输出等功能。通过合理使用流类库,开发人员可以实现对键盘、显示器和文件的高效数据交互。掌握流类库的使用方法,是C++程序开发的基础知识之一。
转载地址:http://ybhfk.baihongyu.com/