유닉스에서는 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))과 같습니다
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
문자열 상수는 char형
문자열 상수는 char형 배열입니다.
따라서
char TMP = "0123456789abcdef";
...
*out = TMP[abs(quotient % base)];
위와 같다고 생각하시면 됩니다.
그리고 오버헤드가 몹시 거슬리는 상황이 아니면
sprintf나 snprintf 쓰시면 됩니다.
아아 이거였군요~ㅎ
감사합니다 ^^
멋진 방법이네요. 덩달아 알아갑니다.
멋진 방법이네요. 덩달아 알아갑니다.
저는 이렇게 생각했습니다.
"0123456789abcdef"[abs(quotie
"0123456789abcdef"[abs(quotient % base)]는 *("0123456789abcdef" + abs(quotient % base))과 같습니다
댓글 달기