私は画像を扱っています。私はヘッダーからそれの幅と高さを抽出したいと思います。ファイルのヘッダを解析する
幅は、それらが特定のインデックスで表現される位置
size
4B width
4B height
で表されています。
Iは、それらの各々はそうforループ
for (int i = index ; i <4 ;i++){
cout << hex<< memory[i];
}
またはIであっても、それが
を使用して数に変換する試みを使用して、4Bを有し、それを解析し、コードifstream f(name, ios::binary | ios:: in); // reading a file in binary
ostringstream ob;
if (f.fail()){ // fail test
return false;
}
f.seekg (0, f.end);
int length = f.tellg(); // length of the file
memory = new char[length]; // allocate array of chars
f.read (memory, length); // read the content of the file into an array
f.seekg (0, f.beg); // point back at the beginning of the file.
でそれを抽出しようとしました
string a;
for (int i = index; i < 4 ;i++{
a+=memory[i];
}
cout << atoi(a.c_str()) << endl;
数値を出力する必要がありますが、読めない形式を出力します。
「インデックス」とは何ですか? for(int i = index; i
MikeCAT
'new type [count]'を使わず、代わりに 'vector'を使ってください。とにかく、サイトルールに準拠するための質問のための最小限の例を抽出する必要があります。 ATMは話題にはなりません。 –
ヘッダのフォーマットへのリンクがありますか?それは高さと幅である最初の2つの値ですか?ドキュメントでは、数字を格納するために "エンディアン"が使用されていることを教えていますか? – Galik