Fristly我试图在eclipse下使用c ++读取文本文件中特定列引用的数据,文本文件是这样的:
ProductA ProductB ProductC
23.3 39 45.2
33 32 ....
10.3 12.3 ....
.... .... ....
按照教程我写了一个小程序:
#include <iomanip>
#include <array>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <stdio.h>
int rowA = 0;
int colA = 0;
using namespace std;
int main() {
string LineA;
int x;
int arrayA[10][10] = {{0}};
string filename;
ifstream fileIN;
fileIN.open("input.txt");
if (fileIN.fail()) {
cerr << "These File Can't Be Opened" << endl;
exit(1);
}
cout << "\n" << endl;
while (fileIN.good()) {
while (getline(fileIN, LineA)) {
istringstream streamA(LineA);
colA = 0;
while (streamA >> x) {
arrayA[rowA][colA] = x;
colA++;
}
rowA++;
}
}
cout << "Rows :" << rowA << endl;
cout << "Columns :" << colA << endl;
cout << " " << endl;
for (int i = 0; i < rowA; i++) {
for (int j = 0; j < colA; j++) {
cout << left << setw(6) << arrayA[i][j] << " ";
}
cout << endl;
}
return 0;
}
我希望开发代码来读取name引用的特定列的数据,然后在setter方法而不是数组中存储clumn的值,如下所示:
if(Name="ProductA") {
// get values of this column and set it in a setter mothod
//SetProductA(values here...!)
// So I can set values of every column in her setter method of product
}
任何想法?
答案 0 :(得分:0)
首先,在您的示例文件中,您为产品列出了一些浮点值,因此$variable = [ ..... ]
的数组不您想要使用的内容!
相反,我建议您为数据文件的每一列使用int
vector
。这有两个好处。
float
如果列比行更重要(您希望将同一列中的所有产品值存储在同一容器中),那么您可以执行类似的操作。
float