CString 형변환

Posted 2012. 8. 13. 22:08

CString -> BYTE

BYTE* temp;

CString cmd;

cmd값을 temp에 할당할때

 

1)

temp = new BYTE[256];

temp = (LPBYTE)(LPCSTR)cmd;

delete []temp;

 

또는..

2)

strcpy(szNamePlace, (LPCTSTR)name);

 

또는

3)

CString str = "string";

BYTE* pByte;

pByte = (BYTE*)(LPSTR)(LPCTSTR)str;

BYTE -> CString

CString String;

BYTE byte;

String.Format("%s", byte);

 

int -> CString

#define_AFXDLL
#include<afxwin.h>//cstring 사용위한...
voidmain()
{

CStringstr;

inti=6;

str.Format(L"%d",i);

printf("%s \n",str);
}

BYTE -> int ,   int -> BYTE

바로 형변환 가능.

bt = (BYTE)i;//단.. 바이트는 255이하의 값만 들어감 ^^, 그이상 들어가면 엉뚱한 값이나옴..

i = (int)bt;

 

CString -> char*

유니코드기반

(char*)(const wchar_t*)str

 

char* -> CString

str = (LPCSTR)(LPSTR)ch;

 

LPSTR은 char*임.

LPSTR : char sring의 32비트 포인터, char* 와 같다

LPCTSTR : constant character string의 32비트 포인터

uint : 32비트 unsigned형 정수

dword : unsigned long int 형

byte : 8비트 unsigned 정수