사용
Char *itoa(int value, char *string, intradix);
헤더 파일:
프로그램 예:
# include & ltstdlib.h & gt
# include & ltstdio.h & gt
Int main ()
{
Int 수 =123456;
Char string [25];
Itoa (숫자, 문자열,10);
Printf("integer = %d string = %s\n ",숫자, 문자열);
0 을 반환합니다
}
/* itoa 함수를 구현하는 소스 코드 */
Char *myitoa(int num, char *str, int radix)
{
/* 색인 테이블 */
Charindex [] = "0123456789 abcdefghijklmnopqrstuvwxyz";
부호 없는 unum/* 중간 변수 *
Int i=0, j, k;
/* unum 값 결정 */
If (radix = =10 & & ampnum & lt0) /* 10 진수 음수 */
{
Unum= (부호 없음)-num;
Str [I++] ='-';
}
Else unum= (부호 없음) num/* 추가 정보 */
/* 역순 */
을 (를) 하다
Str[i++]=index[unum% (부호 없는) 기수];
Unum/= 기수
} while (unum);
Str [I] =' \ 0';
/* 변환 */
If (str [0] = ='-') k =1; /* 소수 음수 */
그렇지 않으면 k = 0;;
/* 원래' /2' 를' /2.0' 으로 변경하여 num 이 16~255 사이에 radix 가 16 과 같을 때 정확한 결과를 얻을 수 있도록 합니다 */
For(j = k;; J< = (I-1)/2.0+k; J++)
{
Num = str [j];
Str [j] = str [I-j-1+k];
Str [I-j-1+k] = num;
}
문자열을 반환합니다
}
Itoa 의 세 번째 매개변수는 숫자를 다른 십진수 시스템으로 변환하는 데 사용됩니다. 예를 들면 다음과 같습니다.
# include & ltstdlib.h & gt
# include & ltstdio.h & gt
인트메인 (void)
{
Int 수 =12345;
Char string [25];
Itoa (숫자, 문자열,10); //십진수 변환
Printf("integer = %d string = %s\n ",숫자, 문자열);
Itoa (숫자, 문자열,16); //16 으로 변환.
Printf("integer = %d string = %s\n ",숫자, 문자열);
0 을 반환합니다
}
출력 결과:
Integer = 12345 string = 12345-설명12345 의 십진수 표현은12345 입니다
Integer =12345 string = 3039-12345 의 16 진수 표현은 0x3039 입니다.
그러나 itoa 는 표준 C 함수가 아니라 Windows 에만 국한된다는 점에 유의해야 합니다. 플랫폼 간 프로그램을 작성하려면 sprintf 를 사용하십시오.
소수로 표시합시다:)
MSDN 의 예
예
/* 아이타. C: 이 프로그램은 다양한 정수를 변환합니다.
* 다양한 반지름의 문자열 크기입니다.
*/
# include & ltstdlib.h & gt
# include & ltstdio.h & gt
잘못된 탐색기 (잘못된 탐색기)
{
충전 버퍼 [20];
Int I = 3445
드래곤 l =-344115l;
부호 없는 긴 ul =1234567890 ul;
_itoa( I, buffer,10);
Printf ("정수 %d 의 문자열 (기수 10): %s\n", I, buffer);
_itoa( I, buffer,16);
Printf ("정수 %d 에 대한 문자열 (기수 16): 0x%s\n", I, buffer);
_itoa( I, buffer, 2);
Printf ("정수 %d 의 문자열 (기수 2): %s\n", I, buffer);
_ltoa( l, buffer,16);
Printf ("long int% LD (radix16) 문자열): 0x%s\n", l, buffer);
_ultoa( ul, buffer,16);
Printf ("부호 없는 긴 문자열 %lu (radix 16): 0x%s\n", ul, buffer);
}
출력물
정수 문자열 3445 (기수 10): 3445
정수 문자열 3445 (기수 16): 0xd75
정수 3445 (기수 2) 의 문자열:110111/kloc/
긴 정수 문자열 -344 1 15 (기수16): 0xffa bbcd
부호 없는 정수 문자열 1234567890 (기수 16): 0x499602d2
변환할 밑수의 기수를 지정합니다. 값은 1-36 사이인 것 같습니다.
이것은 C 표준 라이브러리의 함수가 아니라 Windows 플랫폼 아래의 확장입니다. Sprintf 는 표준 라이브러리에서 이것보다 더 강력하며, printf 와 비슷한 용도로 사용됩니다.
Char str [255];
스프린트 (str, "%x",100); //는 100 을 16 진수 표현으로 변환하는 문자열입니다.