Я так застрял. Я пытаюсь создать текстовый файл ascii, который хранит значения файла .PGM.
Я могу прочитать файл отлично, заголовок в ascii, и он читает отлично.
Но проблема в том, что мне нужно прочитать все после 16-байтового заголовка как ascii и вывести его в виде файла atext, например:
0 235 23 02 255
и т. д. Это вместо двоичного представления, которое выглядит следующим образом:
ÐHHb{{
Итак, вот мой код для базового базового чтения файла:
void readTxt(char * fileName){
std::ifstream inFile(fileName);
unsigned int * cData = 0;
int rows = 1943;
int cols = 1365;
try{
if(inFile.is_open()){
cData = new unsigned int[rows*cols];
int i = 0;
while(inFile.good()){
if(i > rows*cols -1) break;
inFile >> cData[i]; i++;
}
}
else throw "Could not open file\n";
std::cout <<"done\n";
inFile.close();
}
catch(const char * e){ std::cout << "Err"; }
delete[] cData;
}
Но я полностью в тупике. Что мне делать с данными? Я не уверен, но я думаю, что это хранится как символы с пробелами,
так как бы определить сказать char [3] = «255» как int? или что просто char [0] = «0» является int.
Они имеют разную длину. Ах, я так растерялся. Ненавижу звучать как новичок, но я бы больше не хотел тратить время впустую!
Спасибо
Задача ещё не решена.
Других решений пока нет …