itoa() 함수는 C 언어에서 int 데이터 형식을 string 데이터 형식으로 변환하는 데 사용됩니다.
구문 -
char * itoa ( int value, char * str, int base );
버퍼 패스에 배치하는 문자열은 출력을 저장할 만큼 충분히 커야 합니다. 기수 값은 OCTAL(0 - 7), DECIMAL(0 - 9) 또는 HEX(0 - 9, a - f)일 수 있습니다. 기수가 DECIMAL이면 itoa()는 다음을 생성합니다.
(공허) sprintf(버퍼, '%d', n);
여기서 버퍼는 문자열을 반환합니다.
기수가 OCTAL인 경우 itoa()는 정수 'n'을 부호 없는 8진수 상수로 형식화합니다.
그리고 기수가 HEX인 경우 itoa()는 정수 'n'을 부호 없는 16진수 상수로 형식화합니다.
16진수 값에는 소문자 알파벳이 포함됩니다.
반환 값 -
문자열 포인터가 반환됩니다. 유효하지 않은 기수 인수를 전달하면 함수는 NULL을 반환합니다.
표준을 준수하는 대안 -
- sprintf(str,'%d',value) - 십진수로 변환합니다.
- sprintf(str,'%x',value) - 16진수 기준으로 변환합니다.
- sprintf(str,'%o',value) - 8진수로 변환합니다.
연산:
Step 1: Take a number as argument Step 2: Create an empty string buffer to store result Step 3: Use sprintf() to convert number to string Step 4: End
코드 -
#include #include #include char* itoa(int num, char* buffer, int base) { int current = 0; if (num == 0) { buffer[current++] = '0'; buffer[current] = ' '; return buffer; } int num_digits = 0; if (num <0) { if (base="=" 10) num_digits ++; buffer[current]="-" ; current num *="-1;" } else return null; +="(int)floor(log(num)" log(base)) 1; while (current < num_digits) int base_val="(int)" pow(base, num_digits-1-current); num_val="num" base_val; char value="num_val" '0'; -="base_val" num_val; buffer; main() a="123456;" buffer[256]; (itoa(a, buffer, !="NULL)" printf('input="%d," base="%d," buffer="%s '," a, 10, buffer); b="-2310;" (itoa(b, b, c="10;" (itoa(c, 2) c, 2, 0; pre> <p> <strong>Output</strong> </p> <pre> Input = 123456, base = 10, Buffer = 123456 Input = -2310, base = 10, Buffer = -2310 Input = 10, base = 2, Buffer = 1010 </pre> <img src="//techcodeview.com/img/c-tutorial/58/itoa-function-c.webp" alt="itoa Function in C"> <h4>Note: But we have to keep in mind that while we are compiling with gcc, we have to use the '-lm' flag to include the math library.</h4> <p> <strong>gcc -o test.out test.c -lm</strong> </p> <hr></0)>
참고: 하지만 gcc로 컴파일하는 동안 수학 라이브러리를 포함하려면 '-lm' 플래그를 사용해야 한다는 점을 명심해야 합니다.
gcc -o test.out test.c -lm
0)>