MFC에서 DLL 사용할 때 종종 발생하는 에러입니다. 저에게 발생했던 이유는 변수 이름을 잘못 적은 게 원인이었습니다. 기본 제공 형식으로 함수 스타일 변환을 수행할 때에는 인수를 하나만 사용할 수 있습니다. dll을 사용할 때 헤더 파일에 아래와 같이 호출할 함수를 정의합니다. 1typedef int (__stdcall *something)(char * arr);cs 그리고 명시적으로 호출할 함수 something과 매칭되는 변수 var_something를 정의합니다. 1something var_something;cs cpp 파일에서 dll 함수 로드 등 여러 구현을 하겠죠. 그리고 something이 아니라 객체 변수 var_something을 호출하여 사용해야 하는데, something을 호출해 ..
MFC CString 합치기, 분리하기, GetBuffer 사용하기, 예제 3종 MFC CString 합치기, 분리하기 MFC CString, 기본적인 형태 12345678CString data1 = "a";CString data2;CString result; int num = 12;data2.Format("%d", num); result = data1 + data2; cs 변수 a가 문자열일 경우, 1234CString data1 = "a";CString result; int num = 12; result.Format("%s%d", data1, num); cs 변수 a가 문자일 경우, 1234char data1 = 'a';CString result; int num = 12; result.Format("..
[MFC] C++ Switch Case에서 CString 사용 기본적으로 MFC에선 Switch문에서 CString을 사용할 수 없습니다. 정말 사용해야할 피치못할 상황이라면 조금 돌아가는 방법으로 MFC 스위치문에서 CString을 사용할 수 있죠. 관련 소스를 소개합니다. 우선, 아래처럼 스위치문에 필요한 키워드를 정의합니다. 12345#define STR_SWITCH(x) {CString switchval(x); if (false) {;} // Semicolon is necessary#define CASE(y) else if (switchval == y) {;#define DEFAULT else if (true) {;#define BREAK }#define END_SWITCH }Colored by ..
MFC(CString class)에서 Left, Mid, Right를 사용하여 문자열 자르기하는 방법은 아래와 같습니다. MFC (CString) Samples: 12345678910CString somestring = L"ABCDEFG"; somestring.Left(3) == L"ABC" somestring.Mid(2,3) == L"CDE"somestring.Mid (2) == L"CDEFG" somestring.Right(3) == L"EFG" The index starts at 0 (MFC and C#), so nIndex=2 means the 3rd char!cs C#의 Substring()과 비교하면 이렇습니다. 두 언어의 문자열 자르기 비교표입니다. MFC (CString) C# (strin..