Programming/C Win32 MFC2017. 4. 4. 20:41

음.. CString에서 제공하는 메소드는 아래뿐이네.. GetData() 나 다른것들은 상속에 의해서 다른 클래스에서 온 듯

operator LPCTSTR

GetBuffer() 

[링크 : https://msdn.microsoft.com/en-us/library/aa315043(v=vs.60).aspx]


GetString()은 누구꺼냐.. CObject의 스멜이 나긴 한다만...

(LPCTSTR)로 캐스팅하는 것과 거의 구현이 같은 GetString() 이란 메소드도 있습니다. 

[링크 : https://indidev.net/forum/viewtopic.php?f=5&t=92]


음.. 걍 void* 형으로 캐스팅?

CString str = L"английский"; //Russian Language

DWORD dwWritten=0;

WriteFile(pHandle , (void*) str, str.GetLength()*sizeof(TCHAR),&dwWritten , NULL);

[링크 : https://social.msdn.microsoft.com/.../how-to-send-unicode-characters-to-serial-port?forum=vcgeneral]


LPSTR - Long Pointer STRing

LPCSTR - LP Const STRing

LPTSTR - LP Tchar STRing

LPCTSTR - LPC Tchar STRing

LPWSTR - LP Wchar STRing

LPCWSTR - LP Const Wchar STRing

[링크 : http://pelican7.egloos.com/v/1768951]


char 형식의 좁은 문자 리터럴(예: 'a')

wchar_t 형식의 와이드 문자 리터럴(예: L'a')

char16_t 형식의 와이드 문자 리터럴(예: u'a')

char32_t 형식의 와이드 문자 리터럴(예: U'a') 

[링크 : https://msdn.microsoft.com/ko-kr/library/69ze775t.aspx]


TEXT("")과 _T("")의 차이점은

TEXT("")는 WinNT.h에서 #define했고

_T("")는 tchar.h에서 TEXT가 4글자라서 _T이렇게 2글자로 #define했다. 

[링크 : http://x108zero.blogspot.kr/2013/12/text-t-l.html]



+

tchar.h

#define __T(x)      L ## x

#define _T(x)       __T(x)


음.. L 이야 Long에 대한 prefix literal 이니...까?



'Programming > C Win32 MFC' 카테고리의 다른 글

mfc ccombobox 문자열 받아오기  (0) 2017.04.05
MFC 라디오버튼 사용하기  (0) 2017.04.05
bit field와 컴파일러별 byte align  (0) 2017.03.27
MFC CButton 마우스 클릭시 작동하기  (0) 2017.03.08
GetHttpConnection()  (0) 2017.03.03
Posted by 구차니