관리 메뉴

하얀소닉's 자바 프로그래밍/Android/Unity3d

문자열 변환 소스 본문

서버개발자/C언어

문자열 변환 소스

하얀소닉 2015. 10. 22. 13:07

문자열 변환 함수


  1. //  char(ANSI Code set) -> wchar(UNI code set) 변환
  2. wchar_t* CharToWChar(const char* pstrSrc)
  3. {
  4.     int nLen = (int)strlen(pstrSrc) + 1;
  5.     //wchar_t* pwstr      = (wchar_t*) malloc ( sizeof( wchar_t )* nLen);
  6.     wchar_t* pwstr = new wchar_t[sizeof(wchar_t)* nLen];
  7.     int wnLen = sizeof(wchar_t)* nLen;
  8.  
  9.     MultiByteToWideChar(CP_ACP, 0, pstrSrc, nLen, pwstr, wnLen);
  10.  
  11.     return pwstr;
  12. }
  13.  
  14. //  wchar(UNI code set) -> char(ANSI Code set) 변환
  15. char* WCharToChar(const wchar_t* pwstrSrc)
  16. {
  17.     int nwLen = (int)wcslen(pwstrSrc) * 2;
  18.     //char* pstr = (char*) malloc ( sizeof( char) * nwLen + 1);
  19.     char* pstr = new char[sizeof(char)* nwLen + 1];
  20.     int nLen = sizeof(char)* nwLen + 1;
  21.  
  22.     WideCharToMultiByte(CP_ACP, 0, pwstrSrc, (wcslen(pwstrSrc) + 1) * 2, pstr, nLen, NULLNULL);
  23.  
  24.     return pstr;
  25. }
  26.  
  27. // UTF8 code set -> wchar(UNI code set) 변환
  28. wchar_t* UTF8ToWChar(const char* pstrSrc)
  29. {
  30.     int nLen = (int)strlen(pstrSrc) + 1;
  31.     //wchar_t* pwstr      = (wchar_t*) malloc ( sizeof( wchar_t )* nLen);
  32.     wchar_t* pwstr = new wchar_t[sizeof(wchar_t)* nLen];
  33.     int wnLen = sizeof(wchar_t)* nLen;
  34.  
  35.     MultiByteToWideChar(CP_UTF8, 0, pstrSrc, nLen, pwstr, wnLen);
  36.  
  37.     return pwstr;
  38. }
  39.  
  40. // wchar -> UFT8 변환
  41. char* WCharToUTF8(const wchar_t* pwstrSrc)
  42. {
  43.     int nwLen = (int)wcslen(pwstrSrc) * 3;
  44.     //char* pstr = (char*) malloc ( sizeof( char) * nwLen + 1);
  45.     char* pstr = new char[sizeof(char)* nwLen + 1];
  46.     int nLen = sizeof(char)* nwLen + 1;
  47.  
  48.     WideCharToMultiByte(CP_UTF8, 0, pwstrSrc, (wcslen(pwstrSrc) + 1) * 2, pstr, nLen, NULLNULL);
  49.  
  50.     return pstr;
  51. }
  1. wchar_t* CharToWChar(const char* pstrSrc);              // char(ANSI Code set) -> wchar(UNI code set) 변환
  2. char*    WCharToChar(const wchar_t* pwstrSrc);          // wchar(UNI code set) -> char(ANSI Code set) 변환
  3. wchar_t* UTF8ToWChar(const char* pstrSrc);              // UTF8 code set -> wchar(UNI code set) 변환
  4. char*    WCharToUTF8(const wchar_t* pwstrSrc);          // wchar(UNI code set) -> UFT8 변환


'서버개발자 > C언어' 카테고리의 다른 글

문자열 변환 소스  (0) 2015.10.22
while문, do while문  (0) 2014.05.25
malloc  (0) 2014.04.16
C언어 구조체 에러가 좀 있음 출력은 되는데  (0) 2014.04.06
입출금 소스  (2) 2014.04.02
C 언어  (0) 2014.04.02
0 Comments