C, C++
-
[C/C++] 파일 입출력 (fwrite, fread)C, C++/잡기장 | Notebook 2019. 11. 26. 18:23
// 파일 경로CString strFilePath = _T("F:\\TestDir\\Test.txt"); // ## write ## int iWriteID = 1001;char strWriteName[10] = "CS Kim"; FILE* fp;fp = fopen(CT2CA((LPCWSTR)strFilePath), "wb"); fwrite(&iWriteID, sizeof(int), 1, fp);fwrite(strWriteName, sizeof(char), sizeof(strWriteName), fp); fclose(fp); // ## read ##int iReadID = 0;char strReadName[10];memset(strReadName, 0, sizeof(strReadName));fp = fop..
-
[MFC] CString <-> char* 변환 (Unicode Character Set)C, C++/잡기장 | Notebook 2019. 11. 25. 14:50
1. char* -> CString (in Unicode Charater Set)CString ConvertCharAstToCString(char* strInput){// ## char* -> wchar_t -> CString ## wchar_t* strWCHAR;CString strOutput;int iLength;iLength = MultiByteToWideChar(CP_ACP, 0, strInput, strlen(strInput), NULL, NULL);strWCHAR = SysAllocStringLen(NULL, iLength);MultiByteToWideChar(CP_ACP, 0, strInput, strlen(strInput), strWCHAR, iLength); strOutput.Format..
-
[MFC] 프로그램 간의 메시지 송수신 (RegisterWindowMessage, SendMEssage)C, C++/잡기장 | Notebook 2019. 11. 21. 10:03
1. 프로젝트 및 클래스 준비 1-1. MFC Application으로 Store, Customer 이름으로 프로젝트 생성 2. 메시지 등록 2-1. CStoreDlg.h, CCustomerDlg.h에 주고 받을 메시지를 전역변수로 선언 static const UINT WND_MSG = RegisterWindowMessage(_T("CallMessage")); 3. 메시지 보내기 3-1. CCustomerDlg 대화상자에 버튼(IDC_CUSTOMER_BTN) 생성 3-2. 해당 버튼의 클릭 이벤트 생성 3-3. 버튼 클릭 이벤트 함수 내에 다음 내용 작성 WPARAM wParam = 0; LPARAM lParam = 0; ::SendMessage(HWND_BROADCAST, WND_MSG, wParam,..
-
[MFC] Date Time Picker 컨트롤의 날짜 형식 변경C, C++/잡기장 | Notebook 2019. 10. 1. 14:40
1. 컨트롤 생성 1-1. Resource View -> Toolbox -> Date Time Picker 1-2. ID 설정 : IDC_DATETIMEPICKER 2. 컨트롤 변수 설정 2-1. 컨트롤 선택 -> 마우스 오른쪽 버튼 -> Add Variable 버튼 2-2. Category를 Control로 설정 -> Variable name을 'm_ctrlDateTime'으로 설정 3. 날짜 변경 이벤트 설정 3-1. 컨트롤 선택 -> 마우스 오른쪽 버튼 -> Add Event Handler 버튼 3-2. Message type을 'DTN_DATETIMECHANGE' 선택 3-3. Function handler name은 기본값 사용 3-4. Add and Edit 버튼 클릭 3-5. // TODO ..
-
[MFC] 리스트컨트롤 사용법C, C++/잡기장 | Notebook 2019. 9. 24. 14:40
1 헤더 삽입 1-1. 예시CRect cSelectedLandmarkRect;m_ctrlListControl.GetClientRect(cSelectedLandmarkRect);m_ctrlListControl.InsertColumn(0, _T("Index"), LVCFMT_LEFT, cSelectedLandmarkRect.Width(), -1);m_ctrlListControl.InsertColumn(1, _T("Landmark"), LVCFMT_LEFT, cSelectedLandmarkRect.Width(), -1);m_ctrlListControl.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT); 2. 아이템 삽입 2-1. 예시 :m_ctrlListC..
-
[MFC] ComboBox 사용법C, C++/잡기장 | Notebook 2019. 9. 24. 14:19
1. 아이템 추가 1-1. 예시 : m_ctrlComboBox.AddString(_T("")); 2. 모든 아이템 삭제 2-1. 예시 : m_ctrlComboBox.ResetContent(); 3. 목록 변화 이벤트 2-1. Resource View -> 콤보박스가 있는 Dialog로 이동 2-2. 해당 콤보박스 컨트롤에서 마우스 오른쪽 버튼 클릭 -> Add Event Handler 클릭 2-3. Message Type 목록에서 CBN_SELCHANGE 선택 2-4. 함수 이름 설정 (기본값 권장) -> Add and Edit 버튼 클릭 2-5. 함수 내용 작성 및 확인 4. 콤보박스 위치 획득 4-1. 예시 : m_ctrlComboBox.GetSCurSetl(); 5. 아이템 위치값으로 문자열 가져오..
-
[STL] vector 중복 요소 제거C, C++/잡기장 | Notebook 2019. 9. 23. 19:11
1. 중복 요소 제거 1-1. 코드vector vNumberList;vNumberList.push_back(3);vNumberList.push_back(3);vNumberList.push_back(2);vNumberList.push_back(2);vNumberList.push_back(1);vNumberList.push_back(1); // 중복 요소 제거sort(vNumberList.begin(), vNumberList.end());vNumberList.erase(unique(vNumberList.begin(), vNumberList.end()), vNumberList.end()); // vNumberList = 1, 2, 3