질문자 : nimi315 | 링크 : http://cafe.naver.com/winmodev/1701 |
<질문내용> dll 파일을 불러서 사용하려고 하는데 숫자는 나오는데 문자는 영문인데도 깨져서 나오네요 왜 이러는지 모르겠습니다.
이 값을 에뮬레이터에서 MessageBox로 불러서 확인해 보니 문자가 깨져 있네요;; 아래 소스처럼 했는데 어떤 문제가 있는 것인지 알려주시면 감사하겠습니다. ;;;; 관련소스/참고자료 :: dll 에 있는 함수 test2(char** szText) { (*szText) = (char*)calloc(1,30); memcpy((*szText),"test2",5); return 0; }
::에뮬레이터 폼에 있는 소스 unsafe static extern int test2(char** sztext);
char* sztext2=null; test2(&sztext2); string tmp = new string(sztext2);
| |
<답변내용> TCHAR szDateText[256] 라고 문자열을 저장하는 변수가 있다고 가정하구요 __declspec(dllexport) int test2(LPTSTR szText)
마찬가지로 받기 위한 문자열 버퍼를 StringBuilder를 이용해서 선언합니다 test2(result); 해주시면 받아올 수 있습니다
C++과 C#의 자료형 변환 부분을 찾아보세요 | |
작성일 : 2010.03.17 11:23 |
Mobile Develop/WinMoDev Q&A