【发布时间】:2018-10-15 23:00:27
【问题描述】:
我试图弄清楚如何从文本文件中提取值作为双精度类型,以便它们可以用于计算。
我有一个格式如下的文本文件:
parameter1 parameter2 parameter3
50 0 0.1
我只想提取数字。 这是我的尝试之一(我已经工作了几个小时试图弄清楚如何做到这一点)。
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
const int MAX = 80;
char buffer[MAX];
string input;
double j;
ifstream param0;
param0.open("param0.txt");
char ch;
while (param0)
{
param0.get(ch);
cout << ch;
}
getline(param0, input);
param0 >> j;
while (param0)
{
cout << j << endl;
getline(param0, input);
param0 >> j;
}
return 0;
}
【问题讨论】:
-
您的第一个循环读取到文件末尾并简单地显示数据。为什么要这么做。取消该循环,或关闭并重新打开文件。
-
您可以在显示文件后倒回文件,但最好按分配的方式打印。
-
你为什么同时使用
param0 >> j和getline。您只需要一个或另一个,具体取决于您是要读取整行还是只读取一个值。