C++ 读取txt 中浮点数 不包含 空格 ,推荐最简单方法
时间: 2024-03-23 17:40:15 浏览: 79
如果你想从文本文件中读取不包含空格的浮点数,可以使用C++的`>>`运算符结合浮点类型变量来实现。下面是一个使用`>>`运算符从文件中读取浮点数的示例:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream infile("data.txt");
double num;
while (infile >> num)
{
cout << num << endl;
}
infile.close();
return 0;
}
```
在上面的示例中,我们首先打开了一个名为"data.txt"的文件,并使用`>>`运算符从文件中读取数据。当读取到空格、制表符或换行符等分隔符时,`>>`运算符自动停止读取,并将读取到的浮点数存储到double类型变量中。当读取到文件末尾时,`>>`运算符返回false,循环结束。最后,我们关闭了文件流并返回0。
需要注意的是,使用`>>`运算符读取浮点数时,如果文件中包含了非法数据(例如两个小数点),会导致读取失败。在读取数据之前,应该先判断输入流的状态,以确保读取的数据是合法的。例如:
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream infile("data.txt");
double num;
while (infile >> num)
{
if (infile.fail())
{
cout << "读取失败!" << endl;
break;
}
cout << num << endl;
}
infile.close();
return 0;
}
```
在上面的示例中,我们在每次读取数据之后,使用`fail()`函数判断输入流的状态。如果输入流的状态为failbit,说明读取失败。此时,我们打印一条错误信息并跳出循环。
阅读全文