VC++ 형변환 할때
프로그램을 작성하다 보면 데이터형을 변환하는 함수가 필요할 때가 많죠. 이것저것 필요할 때마다 가져다 쓰세요.
1. CString -> double
#include "stdlib.h" // atof() 사용을 위해
// CString형을 double형으로 변환
double CString2double(CString str)
{
char *Temp = (LPSTR)(LPCSTR)str;
return atof(Temp);
}
2. double -> CString
// double형을 CString형으로 변환
CString double2CString(double num)
{
CString Temp;
Temp.Format("%f", num);
return Temp;
}
3. CString -> char*
// CString형을 char* 형으로 바꾸는 함수
char *CString2char(CString str)
{
char *charTemp = (LPSTR)(LPCSTR)str;
return charTemp;
}
4. int -> char *
Visual C++ 에는 다음과 같은 함수가 있습니다. int , __int64 , unsigned __int64 등의 데이터형을 char* 형으로 바꾸어주는 함수들입니다.
인자에 대해 설명하자면 int value 는 입력값, char *string 은 출력값, int radix 는 출력될 진법을 표시합니다. 예를 들어 radix를 16으로 설정하면 16진수로 출력한다는 말이죠. radix 값은 2~36 사이의 값만 가능합니다.
#include "stdlib.h"
char *_itoa( int value, char *string, int radix );
char *_i64toa( __int64 value, char *string, int radix );
char * _ui64toa( unsigned __int64 value, char *string, int radix );
wchar_t * _itow( int value, wchar_t *string, int radix );
wchar_t * _i64tow( __int64 value, wchar_t *string, int radix );
wchar_t * _ui64tow( unsigned __int64 value, wchar_t *string, int radix );
5. char* -> double
#include "stdlib.h"
// char* 형을 double 형으로 바꾸는 함수
double atof( const char *string );
6. char* -> int
#include "stdlib.h"
// char* 형을 int 형으로 바꾸는 함수
int atoi( const char *string );
7. char* -> __int64
#include "stdlib.h"
// char* 형을 __int64 형으로 바꾸는 함수
__int64 _atoi64( const char *string );
8. char* -> long
#include "stdlib.h"
// char* 형을 long 형으로 바꾸는 함수
long atol( const char *string );