유닉스에서는 itoa가 표준이 아니어서 소스를 구했는데 *out = "0123456789abcdef"[abs(quotient % base)];
이런 부분이 있더라구요
이게 무슨뜻인가요 ;;; 이런 문법은 처음 봐서 ..
절대값 구한 뒤에 뭐 어쩌라는 건가요 ?? ;
문자열 상수는 char형 배열입니다. 따라서
char TMP = "0123456789abcdef"; ... *out = TMP[abs(quotient % base)];
위와 같다고 생각하시면 됩니다.
그리고 오버헤드가 몹시 거슬리는 상황이 아니면 sprintf나 snprintf 쓰시면 됩니다.
감사합니다 ^^
멋진 방법이네요. 덩달아 알아갑니다.
저는 이렇게 생각했습니다.
"0123456789abcdef"[abs(quotient % base)]는 *("0123456789abcdef" + abs(quotient % base))과 같습니다
문자열 상수는 char형
문자열 상수는 char형 배열입니다.
따라서
char TMP = "0123456789abcdef";
...
*out = TMP[abs(quotient % base)];
위와 같다고 생각하시면 됩니다.
그리고 오버헤드가 몹시 거슬리는 상황이 아니면
sprintf나 snprintf 쓰시면 됩니다.
아아 이거였군요~ㅎ
감사합니다 ^^
멋진 방법이네요. 덩달아 알아갑니다.
멋진 방법이네요. 덩달아 알아갑니다.
저는 이렇게 생각했습니다.
"0123456789abcdef"[abs(quotie
"0123456789abcdef"[abs(quotient % base)]는 *("0123456789abcdef" + abs(quotient % base))과 같습니다