728x90
SMALL

C++ 5

[MFC] 채팅 프로그램 - 서버 (1/3)

- 설명 - 프로젝트 명 : ChatServer(대화 상자) ① CSocket 클래스 이용 : 동기식(블로킹)으로 동작 ② 서버 클라이언트 1:1 통신 ③ 해당 글은 서버용 채팅 프로그램 만드는 법 설명 1. MFC 애플리케이션 옵션 설정 ① 애플리케이션 종류 : 대화 상자 ② [고급 기능] → [Windows 소켓] 활성화 2. 다이얼로그 디자인 및 ID 3. CSocket 기반의 CSocServer, CSocCom MFC 클래스 생성 ① [프로젝트] → [클래스 마법사] → [클래스 추가] 버튼 옆의 ▼ 버튼 → [MFC 클래스] 선택 → 클래스 생성 ② CSocServer : 서버용 소켓 ③ CSocCom : 통신용 소켓 4. CSocServer, CSocCom MFC 클래스에 가상 함수 추가 ① ..

C++/MFC 2021.08.25

[MFC] 메모장(에디터 프로그램)

- 설명 - 프로젝트 명 : Notepad(단일 문서) ① 문자와 커서(캐럿)를 직접 view에 그려주는 방식 ② Document-View 구조 ③ Document의 Serialize()를 이용해 입력 내용을 저장 또는 열기 1. NotepadDoc.h 사용자 지정 변수 CString strDB[256] : 입력하는 문자열을 저장할 배열(256줄) -> 256줄 표시 가능 long pline : 현재 줄 표시 2. NotepadDoc.cpp ① 변수 초기화 ② Serialize() : 내용 저장 및 열기. 줄의 개수와 문자열을 파일로 저장. Serialize() 소스 보기 더보기 // CNotepadDoc serialization // 줄의 개수와 문자열을 파일로 저장 void CNotepadDoc::S..

C++/MFC 2021.08.24

[MFC] 파일 및 폴더 검색기

- 설명 - 프로젝트 명 : SearchFile(대화 상자 기반) ① 파일 및 폴더의 문자열을 비교하여 검색 ② 하단 리스트 박스에 조건에 부합하는 파일 및 폴더의 정보가 나타남 ③ 리스트 박스 아래 현재 검색 중인 폴더 이름이 나타남 ④ "하위 폴더 검색" 체크 시 하위 폴더 검색 진행 1. 다이얼로그 디자인 및 ID 2. CSearchFileDlg 클래스 멤버 변수 목록 사용자 지정 변수 BOOL m_bStop : 검색 도중 중단 버튼 역활 CString m_strToken : 검색 시 활용할 문자열 조건 CImageList m_img : 아이콘 3. 클래스 마법사를 이용하여 클래스 추가 CFileFindEx : 파일 정보를 CString 형으로 변환 CListCtrlEx : 리스트 컨트롤에 아이콘 ..

C++/MFC 2021.08.23

[MFC] C, C++ 컴파일러 오류 C4996 해결방법

에러코드에 대한 설명을 해석해보면, sprintf_s를 사용하거나 _CRT_SECURE_NO_WARNINGS를 사용해달라고 하는데 다음과 같이 간단하게 선언만 해주면 문제 없이 실행되는 것을 확인 할 수 있다. 관련자료 https://docs.microsoft.com/ko-kr/cpp/c-runtime-library/reference/sprintf-s-sprintf-s-l-swprintf-s-swprintf-s-l?view=msvc-160 sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l 자세한 정보: sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l docs.microsoft.com

C++/MFC 2021.08.20

[MFC] C++ 컴파일러 오류 C2664 두가지 해결방법

1. _T("") 매크로 혹은 L"" 사용 다음과 같은 C2664에러는 다음과 같은 방법으로 수정하면 정상적으로 컴파일이 수행된다. 단, 모든 문자열 구문에 삽입해야 한다는 단점이 존재한다. ※ 관련 자료 https://docs.microsoft.com/ko-kr/cpp/text/unicode-programming-summary?view=msvc-160 유니코드 프로그래밍 요약 자세한 정보: 유니코드 프로그래밍 요약 docs.microsoft.com 2. 속성 변경(멀티 바이트 문자 집합 사용) 위 방법은 모든 문자열 구문에 삽입해야 한다는 단점이 있으므로, 다음과 같이 프로젝트의 속성 변경을 통해 번거로운 작업을 없앨 수 있다. 1. 설루션 탐색기 or 상단 프로젝트에 있는 속성 창을 활성화 2. 고급..

C++/MFC 2021.08.20
728x90
LIST