컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Saturday, September 02, 2006

[C언어] 숫자(정수;int, long, unsigned long)를 문자열로 변환하는 함수 - itoa()


프로그래밍에서는 같은 1234 라고 해도 숫자일 수도 있고 문자일 수도 있습니다.

1234 가 숫자일 때는 1234+1=1235 지만, 문자일 때는 이런 계산이 불가능합니다.

그렇지만 숫자를 문자로 바꾸어야 할 경우가 있는데 이럴 때는 stdlib.h 에 있는 itoa() 등의 함수를 사용합니다.


int 를 문자로 변환


#include <stdio.h>
#include <stdlib.h>

int main() {
  int num = 255;
  char s[33 + 1];

  itoa(num, s, 10);
  printf("숫자(정수) = %d\n문자 = %s\n", num, s);

  // 이렇게 해도 "255"가 출력됨
  // printf (itoa(num, s, 10));

  return 0;
}



사용법은
itoa(숫자, 변환 결과를 담을 버퍼, 진법);
이렇습니다.

16진수로 변환하려면 itoa(num, s, 16)이라고 해주면 됩니다.


itoa() 는 int 를 문자열로 바꿉니다. int 가 아닌 long 이라면, 다음과 같이 ltoa() 함수를 대신 사용하면 됩니다.


long 정수를 문자열로 변환


#include <stdio.h>
#include <stdlib.h>

int main() {
  long num = 123456789L;
  char s[33 + 1];

  ltoa(num, s, 10);
  printf("숫자(정수) = %ld\n문자 = %s\n", num, s);

  // 이렇게 해도 "123456789"가 출력됨
  // printf (ltoa(num, s, 10));

  return 0;
}



unsigned long 정수를 문자열로 변환


ultoa() 함수를 사용합니다.
#include <stdio.h>
#include <stdlib.h>

int main() {
  unsigned long num = 1234567890UL;
  char s[33 + 1];

  ultoa(num, s, 10);
  printf("숫자(정수) = %lu\n문자 = %s\n", num, s);

  return 0;
}




정수의 값에 해당되는 문자를 출력하는 방법: ▶▶ C언어] 정수를 문자로 변환 출력 예제 소스; print int to char



▶▶ [C언어] 숫자(실수;float)를 문자열로 변환하는 함수 - sprintf()

▶▶ [C언어] 문자열을 숫자(정수 int long; 실수 double)로 변환하는 함수

☞ C/C++

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top