char *pStrBuffer;
unsigned char data;
unsigned int Address;
/* pStrBuffer reading from a file data in file of the form
WriteByte(0xDE04,0x20)
WriteByte(0xFE08,0x50) ....
*/
/* in a loop */
sscanf(pStrBuffer,"%x%x",&Address,&data);
コンパイラは Windows XP の gnu gcc 4.5 ですが、アドレスの読み取り値は 0xDE04 ではなく 0xDE00 ですか? データの値は正しく読み取られますが、なぜそうなのですか。また、それぞれ %lx と %hx を使用しようとしましたが、役に立ちませんでした