我只想在文件中存储数据(字符行除外)。我有这个脚本来读取文件,
#include "TMath.h"
#include <vector>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <math.h>
temp() {
ifstream myfile("scanner.dat");
ifstream input_file("scanner.dat");
int nlines=1;
string line;
if(myfile.is_open()){
while(!myfile.eof()){
getline(myfile,line); nlines++;
}
myfile.close();
}
cout<<"nlines = "<<nlines-1<<endl;
int dim=nlines-1;
string a[dim],b[dim],c[dim],d[dim],e[dim],f[dim],g[dim];
if(input_file.is_open()){
for(int i=0; i<700;i++) {
input_file>>a[i]>>b[i]>>c[i]>>d[i]>>e[i]>>f[i]>>g[i];
cout<<a[i]<<" "<<b[i]<<" "<<c[i]<<" "<<d[i]<<" "<<e[i]<<" "<<f[i]<<" "<<g[i]<<endl;
}
}
}
但是问题是字符行在特定日期行之后没有出现。这是输入数据文件的一部分。
# Before scan of next raw/column:
# X Y t I1 I2 I3 I4
0.00 0.00 1.92 330 0 0 0
0.00 0.00 2.92 335 0 0 0
0.00 0.00 3.92 330 0 0 0
0.00 39.99 9.92 345 0 0 0
# Before scan of next raw/column:
# X Y t I1 I2 I3 I4
0.00 0.00 1.92 330 0 0 0
0.00 0.00 2.92 335 0 0 0
0.00 0.00 3.92 330 0 0 0
0.00 39.99 9.92 345 0 0 0
0.00 0.00 3.92 330 0 0 0
0.00 39.99 9.92 345 0 0 0
答案 0 :(得分:0)
string
。j
变量)下面有一个例子,
//...
std::string line;
for(int i=0, j=0; i<700;i++)
{
std::getline(input_file, line)
if (line.rfind("#", 0) == 0)
continue; // Ignore the comments.
std::istringstream iss(line)
iss>>a[j]>>b[j]>>c[j]>>d[j]>>e[j]>>f[j]>>g[j];
j++;
//...