私のコードにはおそらく愚かなエラーがあります。私は以下の変数を定義しました:unsigned charをcoutに渡すと予期せぬ出力が発生する
unsigned char uEngines;
unsigned short uActiveEngines
unsigned short uDed
....
とその他いくつかを定義しました。
コードのどこかで、gdbに構造体を印刷しようとしましたが、次のようになりました。
$6 = {uEngines = 12 '\f', uActiveEngines = 4095 .....
1)私はcout
を使用して出力するuEngines
値をしようとしていますが、それは唯一の空白出力です:'\ F'はgdbの出力で何を意味している)
cout <<strVariable->uEngines;
2 ?
データ型に問題がありますか?
'uEngines'の値を整数または文字にしますか?数値として欲しいなら、エンジンの数が決して負ではないので、 'cout <<(int)uEngines;' – Shahbaz
@softghostに 'unsigned char'が必要です。 –
@softghost:その引用のソースを提供できますか? 'signed char'と' unsigned char'は、signednessが保証された2つの最小整数データ型であり、 'char'とは区別されます(例えば' signed char'、 'unsigned char'、 'char') –