|
// 1. MBCS를 UNICODE로 변환
CHAR* cStr = "테스트" ; WCHAR wStr[5000]; ::ZeroMemory(wStr, sizeof(wStr)); ::MultiByteToWideChar(CP_ACP, 0, cStr , strlen(cStr)+1, wStr, sizeof(wStr)/sizeof(wStr[0])); ::MessageBoxW(NULL, wStr, L"MBCS -> UNICODE", MB_OK); // 2. UNICODE -> UTF-8로 변환 char cStr[20000]; WCHAR *wStr = L"테스트"; ::ZeroMemory(cStr, sizeof(cStr)); ::WideCharToMultiByte(CP_UTF8, 0, wStr, -1, cStr, sizeof(cStr), NULL, NULL); ::MessageBoxA(NULL, cStr, "UNICODE -> UTF-8", MB_OK); // 3. UTF-8 -> UNICODE로 변환 WCHAR wStr[20000]; char* utf8str = "테스트"; MultiByteToWideChar(CP_UTF8, 0, utf8str, strlen(utf8str)+1, wStr, sizeof(wStr)/sizeof(wStr[0])); ::MessageBoxW(NULL, widewStrchar, L"UTF8 -> UNICODE", MB_OK); // 4. UNICODE -> MBCS로 변환 WCHAR *wStr = L"테스트"; char cStr[20000]; ::ZeroMemory(cStr, sizeof(cStr)); ::WideCharToMultiByte(CP_ACP, 0, wStr, -1, cStr, sizeof(cStr), NULL, NULL); ::MessageBoxA(NULL, cStr, "UNICODE -> MBCS", MB_OK);
오늘 WMV에서 WAV 추출중 발견한 현상~
NULL Renderer를 먼저 삽입 후 Render File 하게 되면 WMV의 audio 부분에 Null Renderer가 붙는다. 그래서 다음에 오류가 생긴다. 해결 방법. Video Renderer와 DirectSound 필터를 먼저 로딩 후 파일 Render 후 Video Renderer를 삭제한 후 나중에 Null 렌더러를 추가한다. 자세한 내용은 추후에.....
쓰레드 기반 프로그래밍중 디버깅 시 시스템이 현저하게 느려지는 경우가 있다.
Create된 Thread가 정상적으로 Terminate Thread 되지 않아 발생하는 현상이라고 한다. 아직 테스트하진 못했지만 여기에 메모해둔다. cmd에서 taskkill /F /IM CcmExec.exe taskkill /F /IM ctfmon.exe 위의 두 명령어를 실행하여 두개의 프로세스를 죽이면 정상적으로 속도가 돌아온다. 디버깅 시작시에 항상 저 명령어를 입력한 후에 시작하는 습관을 들이도록 해야겠다. struct tm 구조체를 가지고 시간값을 출력하고자 할 경우 프로그래밍을 할때 여러 컴파일러를 대상으로 개발해야하는 경우
|