http://skql.tistory.com/559
CString 에서 Char* (배열)
UDP 소켓 통신하면서
CString으로 받은 값을 Char* 로 센드 시켰을때
길이는 맞게 오는데 자꾸 한글자만 나와 ㅠ.ㅠ
구글링 네이뇬 검색 하면 아래 와 비슷한 내용들 많이 나오는데...
CString msg = "abcdefg";
char* tempchar;
tempchar = LPSTR(LPCTSTR(msg));
머 요런식으로 해서
strlen(tempchar) === 1
msg.getLength === 6
머냐고요~~~
strcpy
memcpy 다 1글자씩 밖에 안드감 ㅠ.ㅠ
다시 구글링
char Buffer[255];
CString szString;
size_t CharactersConverted = 0;
wcstombs_s(&CharactersConverted, Buffer, szString.GetLength()+1, szString, _TRUNCATE);
위방법 ㅠ.ㅠ
3시간 정도 찾은거 같아 ㅠ.ㅠ
비록 땃짓도 많이 했지만 C#은 간단하구 좋았는데..
VS2005 VC++ 대략 알고리즘 짜는데 시간이 가는게 아니라... 타입케스팅 하다가 시간이 다 가버림 ㅠ.ㅠ 쥘쥘쥘쥘 꺼우져!!!!!!!
CString 에서 Char* (배열)
UDP 소켓 통신하면서
CString으로 받은 값을 Char* 로 센드 시켰을때
길이는 맞게 오는데 자꾸 한글자만 나와 ㅠ.ㅠ
구글링 네이뇬 검색 하면 아래 와 비슷한 내용들 많이 나오는데...
방법은
1. (LPSTR)(LPCTSTR)로 강제 형변환
2. CString str;
str.GetBuffer(str.GetLength());
해주시면 char *을 리턴합니다.
1. (LPSTR)(LPCTSTR)로 강제 형변환
2. CString str;
str.GetBuffer(str.GetLength());
해주시면 char *을 리턴합니다.
ps. 위 두가지 방법중에 2번을 추천합니다.
그리고 GetBuffer를 사용하시면 ReleaseBuffer()를 사용해서 해제해 주셔야합니다.
그리고 GetBuffer를 사용하시면 ReleaseBuffer()를 사용해서 해제해 주셔야합니다.
CString msg = "abcdefg";
char* tempchar;
tempchar = LPSTR(LPCTSTR(msg));
머 요런식으로 해서
strlen(tempchar) === 1
msg.getLength === 6
머냐고요~~~
strcpy
memcpy 다 1글자씩 밖에 안드감 ㅠ.ㅠ
다시 구글링
char Buffer[255];
CString szString;
size_t CharactersConverted = 0;
wcstombs_s(&CharactersConverted, Buffer, szString.GetLength()+1, szString, _TRUNCATE);
위방법 ㅠ.ㅠ
3시간 정도 찾은거 같아 ㅠ.ㅠ
비록 땃짓도 많이 했지만 C#은 간단하구 좋았는데..
VS2005 VC++ 대략 알고리즘 짜는데 시간이 가는게 아니라... 타입케스팅 하다가 시간이 다 가버림 ㅠ.ㅠ 쥘쥘쥘쥘 꺼우져!!!!!!!
'프로그래밍 > 공부관련' 카테고리의 다른 글
ShellExecute Function (1) | 2010.05.09 |
---|---|
Direct X - Direct Input (0) | 2010.05.08 |
CIPAddressCtrl 의 ip주소를 cstring으로 받기 (0) | 2010.05.07 |
ShellExecute() 함수는 프로그램을 실행시킬 수 있는 함수이다 (0) | 2010.05.07 |
5/5 구조체 send 해줄때.. , 리스트몇개있는가? , STL 반복자할때 주의 (0) | 2010.05.06 |