我有一个文本文件,其中数据存储为列。如何将每列提取到数组中?
例如:a b c d
10 11 12 13
14 15 16 17
我想要四个数组,a = {10,14},b = {11,15} c = {12,16} d = {13,17}
以下是我到目前为止所做的工作,将它们添加到一个数组中:
CArray <double,double> *data = new CArray <double,double>();
CString strLine;
TRY
{
CStdioFile file(m_fileName, CFile::modeRead);
while(file.ReadString(strLine)) {
CArray <double,double> arrayValues;
splitString(strLine,arrayValues);
for (int i=0; i< arrayValues.GetSize()-1;i++){
// Temp_data[i] = arrayValues.ElementAt(i);
data->Add(arrayValues.ElementAt(i));
}
}
}
CATCH_ALL(e)
{
e->ReportError(); // shows what's going wrong
}
END_CATCH_ALL
void splitString(CString S, CArray<double,double>& arrayValues){
CString sep = _T(" ");
int start = 0;
CString aux = S.Tokenize(sep, start);
arrayValues.Add(_tstof(aux));
while(start != -1){
aux = S.Tokenize(sep, start);
arrayValues.Add(_tstof(aux));
}
}
感谢。
答案 0 :(得分:1)
因为你没有尝试过任何东西,直到我会给你一些建议。
首先将该行转换为string
并将其拆分,然后将所有值存储在数组中。
所以最后你会得到总数的数组。
现在使用索引并根据索引将它们存储在不同的列数组中:
具有相似索引的数组中的所有元素都将存储在数组colN
中。
答案 1 :(得分:0)
提示 - 希望你不介意我没有为你编写代码:)