使用ifstream的>>操作符可自动读取文件中的整数和浮点数,需包含fstream和iostream头文件,打开文件后检查状态,再通过>>按类型顺序读取,支持十进制、小数和科学计数法,空白字符自动跳过,循环读取时遇错误或文件结束停止。

在C++中读取文件中的整数和浮点数,通常使用
ifstream类配合输入操作符
>>。这种方法能自动识别数值类型,跳过空白字符(空格、换行、制表符),并正确解析整数和浮点数。
包含必要的头文件
要进行文件读取,需要引入以下两个头文件:
#include#include iostream>
说明:
fstream提供文件流支持,
iostream用于调试时输出信息。
打开文件并检查状态
使用
std::ifstream打开文件,并确认是否成功打开:
立即学习“C++免费学习笔记(深入)”;
std::ifstream file("data.txt");if (!file.is_open()) {
std::cerr return -1;
}
建议:始终检查文件是否成功打开,避免后续读取出错。
读取整数和浮点数
假设文件内容如下:
NetShop软件特点介绍: 1、使用ASP.Net(c#)2.0、多层结构开发 2、前台设计不采用任何.NET内置控件读取数据,完全标签化模板处理,加快读取速度3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录5、后台内置强大的功能,整合多家网店系统的功能,加以优化。6、支持三种类型的数据库:Acces
-100 2.5e-3
可以按顺序读取数值:
int a, b;double x, y;
file >> a >> x >> b >> y;
特点:
-
>>操作符会自动识别数据类型。
- 支持十进制整数、小数、科学计数法(如2.5e-3)。
- 自动跳过空白字符分隔的数值。
如果不确定数据个数,可以用循环读取:
int num;double val;
while (file >> num >> val) {
std::cout }
注意:当读取失败(如到达文件末尾或类型不匹配)时,循环自动终止。
完整示例
下面是一个完整例子,读取文件中交替出现的整数和浮点数:
#include#include
using namespace std;
int main() {
ifstream file("data.txt");
if (!file) {
cerr return 1;
}
int i;
double d;
while (file >> i >> d) {
cout }
file.close();
return 0;
}
基本上就这些。只要文件格式清晰,用
>>读取整数和浮点数非常方便。关键是要检查文件是否打开成功,并确保数据格式匹配。遇到非数值内容时读取会停止,可借助
clear()和
ignore()处理错误状态,但一般情况不需要。









