我正在尝试从如下所示的文本文件中加载数据:
161,77,88,255 0,44,33,11,111
等等。我有操作它的函数,并确保数组的大小正确(可能仍然不同)。以下是我的实施尝试:
bool loadData(int **imgPix, string fileName) {
ifstream inputFile;
inputFile.open(fileName.c_str());
string tempLineRow; //The resulting line from the text file
string tempElementColumn; //The individual integer element
int numberOfCols = 0;
int numberOfRows = 0;
if (!inputFile.is_open()) {
return false;
}
imgPix = new int* [numberOfRows];
while (getline(inputFile, tempLineRow, '\n')) {
stringstream ss;
ss << tempLineRow; //Stringstream version of the line
while (getline(ss, tempElementColumn, ',' )) {
stringstream ss2;
ss2 << tempElementColumn;
ss2 >> numberOfCols;
//Prob? (**imgPix) = *(*(imgPix + numberOfRows) + numberOfCols);
numberOfCols++;
}
numberOfRows++;
}
inputFile.close();
return true;
}
我已经用注释标记了带有双指针赋值的行,因为我相信它是我的错误的根源,尽管可能还有其他错误。我不确定如何使用我实现的 while 循环结构来迭代更新 2D 数组。
任何人都可以提供任何帮助吗?将不胜感激!