내 코드에 어리석은 오류가있을 수 있습니다. 다음 변수를 정의했습니다.부호없는 문자를 전달할 때 예기치 않은 결과가
unsigned char uEngines;
unsigned short uActiveEngines
unsigned short uDed
....
및 기타 몇 가지 변수를 정의했습니다.
코드의 다른 부분에서 gdb에 구조체를 인쇄하려고 시도했지만 다음을 얻었습니다.
$6 = {uEngines = 12 '\f', uActiveEngines = 4095 .....
1) I 출력에 cout
를 사용하여 uEngines
값을 시도하고 있지만, 그것은 단지 빈 공간 출력 것 :
cout <<strVariable->uEngines;
2) 무엇을 는 '\ F' gdb를 출력에 의미를 ?
데이터 유형에 문제가 있습니까?
'uEngines'의 값을 정수 또는 문자로 사용 하시겠습니까? 숫자로 원한다면 엔진 수가 음수가 아니기 때문에'cout << (int) uEngines;' – Shahbaz
@softghost'unsigned char'가 필요하다. –
@softghost : 해당 인용문의 출처를 제공 할 수 있습니까? 'signed char'와'unsigned char'는 signedness가 보장되는 두 개의 최소 정수형 데이터 타입이며,'char'와는 구별됩니다 (예 : 서명 된 char, unsigned char, 'char') –