内部csv数据中有负数;
涉及C++中的 istringstream 的用法:
ifstream fin(fname);
int a,b,c;
string s;
getline(fin, s);
istringstream ss(s);
ss >> a>>b>>c;//把ss中的三个数赋值给a,b,c
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <random>
#include <sstream>
using namespace std;
int main() {
ofstream outFile;
outFile.open("C://Users//Desktop//er1.csv", ios::out);
5000*128
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10; j++) {
outFile << -i << " " << -j << " " << i << "\n";
}
}
outFile.close();
//read();
ifstream fin("C://Users//Desktop//er1.csv"); //打开文件流操作
string line;
while (getline(fin, line)) //整行读取,换行符“\n”区分,遇到文件尾标志eof终止读取
{
//cout << "原始字符串:" << line << endl; //整行输出
istringstream iss;//istringstream提供读 string 的功能
iss.str(line);//将 string 类型的 test 复制给 iss,返回 void
string s;
double x, y, z;
iss >> x >> y >> z;//将读入的一行中的三个整数存储到了a, b, c中。
cout << x << " " << y << " " << z << endl;
/*每一行的三个数,按空格分别输出,并转化为double型数据
vector<double> data;
while (iss >> s){
data.push_back(atof(s.c_str()));
}
data.clear();*/
}
return 0;
}
结果: