Попробуйте преобразовать двоичный файл изображения в ascii.
Я так застрял. Я пытаюсь создать текстовый файл 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. Они имеют разную длину. Ах, я так растерялся. Ненавижу звучать как новичок, но я бы больше не хотел тратить время впустую!
Спасибо