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

Спасибо

0 ответов

Другие вопросы по тегам