본문 바로가기
반응형

MFC90

[개발/MFC] UTF8로 파일저장하기 [MFC] UTF8로 파일저장하기 CString strFilePath = dlg.GetPathName(); // UTF8로 컨버팅 int nAllocLen = WideCharToMultiByte (CP_UTF8, 0, strSaveData, -1, NULL, 0, NULL, NULL); CHAR * pBuffer = new CHAR [nAllocLen + 1]; memset (pBuffer, 0, nAllocLen); WideCharToMultiByte (CP_UTF8, 0, strSaveData, -1, pBuffer, nAllocLen + 1, NULL, NULL); // 파일로 저장 CFile file; file.Open (strFilePath, CFile::modeCreate | CFile::mo.. 2011. 3. 22.
[개발/MFC] 스트링 형변환 문자관련 함수 MBCS(multi-byte character set) : ASCII 코드 문자열을 쓰는 함수 WCS(wide character string) : 유니코드 문자열을 쓰는 함수 함수 제일 뒤에 ASCII를 나타내는 A와 Wide Character를 나타내는 W를 붙여서 구분함. 예) GetCurrentDirectoryA ... 예외) cout, wcout LPCTSTR(Long Pointer Constant TCHAR String) 여기서 TCHAR 라는 것은 typedef 유니코드가 설정되어 있으면 2바이트로(wchar_t) 아니면 기존 char 방식인 1바이트로(char) 한다는 것을 의미. LPSTR : 8비트 윈도우 캐릭터 스트링(string) 포인터 문자. LPCSTR : LPSTR.. 2011. 3. 19.
[개발/VC++] 운영제체 XP 이상 확인 운영체제가 XP가 아닌 그 이상인지 확인한다. 비스타, 윈도우즈7, 그 이후 버전 등 // 운영체제가 xp 이상인가. BOOL COSInstallApp::OSVersionXPOver() { DWORD dwVersion, dwMajorVersion, dwMinorVersion, dwBuild; dwVersion = GetVersion(); // Get the Windows version. dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion))); // Get the build number. if (dwVersion < 0x80000000) dwBuild = (DWORD)(HIW.. 2011. 3. 8.
[개발/VC++] MFC 관리자권한 외부 프로세스 실행을 위한 소스 외부 프로세스 실행을 위한 소스 아래 함수는 Windows 7 에서 관리자 권한으로 실행이 가능하게 하는 코드이다. MFC 개발하시분 분들에게는 많이 유용할 것이다. 쌈꼬쪼려 소백촌닭 ======================================================= 사례1 // 프로세스 실행 BOOL SBRICH::ExecuteProcess(CString FilePath, CString Parameter) { //TCHAR path[1024] = {0,}; //::GetModuleFileName(NULL, path, 1024); BOOL bRes = FALSE; if(OSVersionXPOver()) { // 관리자 모드로 실행 SHELLEXECUTEINFO exeInfo = {0,};.. 2011. 3. 8.
[개발/VC++/MFC] CString ↔ char 변환 1. CString을 char으로 변환 CString csTest; csTest = "I Love You"; char* cTest = LPSTR(LPCTSTR(csTest)); 2. char을 CString으로 변환 char cTest[10] = "I Love You"; CString csTest; csTest.Format("%s", cTest); 출처 : http://blog.daum.net/sjdody/5693925 2011. 2. 14.
[개발/MFC] LPSTR LPCTSTR 위험 CStrgin -> char 으로 변환 (LPSTR)(LPCTSTR)csTest은 위험하다.!! -. 유니코드를 고려하지 않았을뿐 아니라 -. 위험하게 내부데이터를 접근합니다. CString strPP; char * chNN = (LPSTR)(LPCSTR)strPP; 이렇게 해서 chNN을 CString의 포인터로 가져 옵니다. (LPSTR)(LPCSTR)strPP 이 부분 에서 이유는 MSDN을 찾아보시면 아시겠지만 CString은 const char * 으로 만 받을수 있답니다. 그래서 (LPCTSTR)strPP 이런 형식으로도 사용합니다. 물론 const char *으로 return되겠죠.. 다시 char *을 필요하신다면 char * chNN = (char *)(LPCTSTR)strPP; 이런 식으로도 사용합니다 char *pstr =.. 2011. 2. 14.
반응형