私は簡単な質問をしています。バイトを読み取って、C++で整数のバイトのASCII値を保存する方法
ゴール:ファイル(指定された最初のバイト)から特定のバイトを読み込み、そのバイトのASCII値でint xを作成します。したがって、たとえば、バイト/文字が 'a'の場合、xは97(= 16進数)になります。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
unsigned int x;
unsigned char b;
ifstream myFile ("example.txt", ios::out | ios::binary);
myFile.seekg (0, ios::beg);
myFile >> b;
x = (unsigned int)b;
cout << hex << x;
return b;
}
問題:私は、ファイル、EXAMPLE.SQLの最初のバイトを読んで、次のしている最初のバイトが08で表現されている場合は、確かに私は8の出力を得る。しかし、バイトが表現されている場合私は、そのバイトも09でない限り、私は次のバイトを取得するように見えた。私の問題は、09でASCIIで表現されている場合にのみわからない。
質問:ファイルから最初の(または3番目またはそれ以上の)バイトを読み込み、そのバイトのASCII値でintを作る方法は?
(私はWindows XPにあります)
あなただけ読んでいないのはなぜ'char'に入れますか? –
軌道上の@ Lightness Races:コメントありがとう。私はcharを読み込もうとしていましたが、各文字のascii値にしたいのですが、値が09のときは値0が返されていました。(意味があれば) – Thomas