숫자를 문자열로 바꾸는 itoa함수, ltoa함수, ultoa함수, fcvt함수, ecvt함수, gcvt함수에 관한 내용입니다.
※요약
itoa : integer 값을 2진, 8진, 10진, 16진 문자열로 변환합니다.
ltoa : long 값을 2진, 8진, 10진, 16진 문자열로 변환합니다.
ultoa : unsigned long 값을 2진, 8진, 10진, 16진 문자열로 변환합니다.
fcvt : 실수(고정 소수점:float) 값을 문자열로 변환합니다.
ecvt : 실수(부동 소수점:double) 값을 문자열로 변환합니다.
gcvt : 실수 값을 부호와 소수점을 포함하여 문자열로 변환합니다.
※함수 원형 및 설명
char *itoa( int value, char *string, int radix ); char *ltoa( long value, char *string, int radix ); char *ultoa( unsigned long value, char *string, int radix ); //value : 문자열로 변환될 정수 값 //string : 변환된 문자열이 저장될 버퍼의 포인터 //radix : 값의 기수. 10진수는 10, 2진수는 2, 16진수는 16 등 2~36 사이의 값 //반환값 : 변환된 문자열이 저장된 string 버퍼의 포인터 char *fcvt( double value, int count, int *dec, int *sign ); //value : 문자열로 변환될 실수 값 //count : 변환 문자열 중 소수점 이하 숫자의 길이 //dec : 소수점의 위치가 저장될 변수의 포인터 //sign : 부호가 저장될 변수의 포인터 //반환값 : 변환된 문자열이 저장된 내부 정적영역 버퍼의 포인터 char *ecvt( double value, int count, int *dec, int *sign ); //value : 문자열로 변환될 실수 값 //count : 변환할 문자열의 길이 //dec : 소수점의 위치가 저장될 변수의 포인터 //sign : 부호가 저장될 변수의 포인터 //반환값 : 변환된 문자열이 저장된 내부 정적영역 버퍼의 포인터 char *gcvt( double value, int digits, char *string ); //value : 문자열로 변환될 실수 값 //digits : 변환 시 의미 있는 숫자의 길이 //buffer : 변환된 값을 저장할 문자열 버퍼의 포인터 //반환값 : 변환된 문자열이 저장된 string 버퍼의 포인터
※예제
#include <stdio.h> #include <stdlib.h> //itoa, ltoa, ultoa, fcvt, ecvt, gcvt int main( void ) { int nInt = 1234567890; int nInt2 = 255; long nLong = -1234567890L; unsigned long nULong = 345678902UL; float nFloat = 3.141592f; double nDouble = 3.14e+5; int radix; char buffer[100]; int dec, sign; char *pbuffer; //10진 문자열로 변환 radix = 10; itoa( nInt, buffer, radix ); printf( "%s\n", buffer ); ltoa( nLong, buffer, radix ); printf( "%s\n", buffer ); itoa( nULong, buffer, radix ); printf( "%s\n", buffer ); //2진 문자열로 변환 radix = 2; itoa( nInt2, buffer, radix ); printf( "%s\n\n", buffer ); //16진 문자열로 변환 radix = 16; itoa( nInt2, buffer, radix ); printf( "%s\n", buffer ); //--- _fcvt, _ecvt, _gcvt --- pbuffer = fcvt( nFloat, 7, &dec, &sign ); printf( "%s %d\n", pbuffer, dec ); pbuffer = ecvt( nDouble, 10, &dec, &sign ); printf( "%s %d\n", pbuffer, dec ); pbuffer = gcvt( nDouble, 5, buffer ); printf( "%s %d\n", pbuffer ); pbuffer = gcvt( nDouble, 10, buffer ); printf( "%s %d\n", pbuffer ); return 0; }
'C > 문자열 함수' 카테고리의 다른 글
[C언어] 문자가 숫자나 알파벳인지 검사하는 함수 - isalnum (1) | 2013.11.18 |
---|---|
[C언어] 문자가 알파벳인지 검사하는 함수 - isupper, islower, isalpha (0) | 2013.11.18 |
[C언어] 문자가 숫자에 속하는지 검사하는 함수 - isdigit (0) | 2013.11.18 |
[C언어] 문자열 숫자로 변환 관련 함수 - strtol, strtoul, strtod (0) | 2013.11.02 |
[C언어] 문자열 숫자로 변환 관련 함수 - atoi, _atoi64, atol, atof (0) | 2013.11.02 |
[C언어] 문자열 초기화 관련 함수 - strset, strnset (0) | 2013.10.28 |
[C언어] 문자열 거꾸로 뒤집는 함수 - strrev (1) | 2013.10.27 |