次のようなテキスト ファイルからデータを読み込もうとしています。
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;
}
他にもある可能性はありますが、それが私のエラーの原因であると信じているため、ダブルポインター割り当ての行にコメントを付けました。2D 配列を繰り返し更新するために実装した while ループ構造を使用する方法がわかりません。
誰でも何か援助を提供できますか? 大歓迎です!