16 진수로 서명 숯불/INT 변환입니다 HEX 값, 문제가 더 정확한 번역 ascci 테이블입니다 0D는, 변환 : AD 코드 :C의 Conver 유럽 부호 문자가
char int_to_hex(int d) {
if (d < 0) return -1;
if (d > 16) return -1;
if (d <= 9) return '0' + d;
d -= 10;
return (char)('A' + d);
}
void uint_to_hex(unsigned char in, char **out, int *olen) {
int i = 0;
int remain[2];
int result = (int)in;
while (result) {
remain[i++] = result % 16;
result /= (int)16;
}
for (i = 1; i >= 0; --i) {
char c = int_to_hex(remain[i]);
if((int)c == -1) { continue; }
*((*out) + (*olen)) = (char)c; (*olen)++;
}
}
이 잘못 ..
'out'은 다소 이상합니다. 이것을 어떻게 부르는지 보여 주어야합니다. 또한, 예를 들어 'snprintf()'는 이것을하기 위해서? – unwind
오류 케이스는 무엇입니까? – 4pie0
아마도 발신자가 아닙니다. – BLUEPIXY