728x90
반응형
- Visual C++ 6.0 에서는
double atof(const char *str)
함수만 지원하며,double _wtof(const wchar_t *str)
함수는 제공되지 않습니다. - 참고로, 정수형(
generic-text
타입)은 지원되지만, 뭔가 5% 부족한 느낌이 있습니다.
그래서 직접 함수를 만들어 보았습니다.
atof()
대신 사용할 수 있도록 VC++ 6.0에서 TCHAR을 지원하는 형식으로 개선 한 함수입니다.- 만약 VC++ 6.0을 어쩔 수 없이 사용해야 한다면 한 번 활용해 보세요!
-
cpp
////////////////////////////////////////////////////////////////////////// // // TTOF2.h // // made by j2doll (https://j2doll.tistory.com/102) // v0.2 : check valiation of input parameter // v0.1 : Initial version ( 9, May, 2007 ) // use for visual c++ 6.0 or under version // ////////////////////////////////////////////////////////////////////////// #ifndef _TTOF2_DEFINE #define _TTOF2_DEFINE #if _MFC_VER >= 0x0700 #ifdef _UNICODE static double TTOF2(WCHAR *szIn) { return ( _wtof(szIn) ); }; #else static double TTOF2(CHAR *szIn) { return ( atof(szIn) ); } #endif #else // 6 or under version #ifdef _UNICODE static double TTOF2(WCHAR *szIn) { if ( szIn == NULL ) return 0; double retVal; size_t len = _tcslen( szIn ); if ( len == 0 ) return 0; CHAR * szMBCSBuf = new CHAR [ len + 1 ]; ASSERT(NULL!=szMBCSBuf); // DEBUG WideCharToMultiByte( CP_ACP, 0, szIn, (-1), szMBCSBuf, sizeof(szMBCSBuf), NULL, NULL ); // convert character-set retVal = atof( szMBCSBuf ); delete [] szMBCSBuf; return retVal; } #else static double TTOF2(CHAR *szIn) { return ( atof(szIn) ); } #endif // _UNICODE #endif // _MFC_VER >= 0x0700 #endif // _TTOF2_DEFINE //----------------------------------------------------------
728x90
반응형
'C C++' 카테고리의 다른 글
C++ 상수 포인터 (0) | 2007.05.17 |
---|---|
최대한 잘라먹기(Maximal Munch)와 컴파일러(Compiler) (2) | 2007.05.16 |
CMainFrame IDR_MAINFRAME 확장자 연결 문자열 (0) | 2007.04.26 |
GetProcAddress 과 Unicode (0) | 2007.04.14 |
.NET 프레임워크 인식하기 (0) | 2007.04.07 |