티스토리 뷰
string, wstring, CString 각각 변환 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 |
// 1. string to wstring
#include <afxwin.h>
string s1 = "abc";
wstring s2 = "def";
USES_CONVERSION;
std::wstring s2(A2W(s1.c_str())); // wstring <- string
// 또는
string ss1 = "abc";
wstring ss2 = L"";
ss2.assign(ss1.begin(), ss1.end());
// 2. wstring to string
#include <afxwin.h>
USES_CONVERSION;
std::wstring s2(A2W(s1.c_str())); // wstring <- string
// 3. wstring to CString, string to CString
wstring wstr = L"abc";
CString strStr = wstr.c_str();
string str = "abc";
strStr = str.c_str();
// 4. CString to wstring
CString strStr = TEXT("abc");
wstring str = CStringW(strStr); // wstring <- CString
// MFC 프로젝트에서는 잘되지만, 콘솔 프로젝트에서는 에러남.
void func(wstring str) { return str; }
func(CStringW(strStr)); // 이렇게 하면 에러남.
// 34행 처럼 초기화할때는 문제 없지만, 38행 처럼 인수로 전달할때는 컴파일 에러 남. |
cs |