TXT 파일에 Log를 저장하려고 하는데, 한글이 포함된 CString이 저장이 안되서 한참을 찾았다.. 찾아보니 두가지 방법이 있는 것 같다. setlocale()을 사용하거나, 저장하려는 문서의 맨 앞에 BOM을 기록하거나. BOM 기록 방식으로 해보려고 했는데 뭘 잘못한건지 나머지 문자들마저 한자로 나와서 몇번 시도해보다가 포기! 1. setlocale() 사용 - m_file.Open(~ ) 코드 위에 setlocale(LC_ALL, "korean"); 을 추가 - Header 추가 --> #include 2. BOM 설정 - Window개발 시 유니코드 문서일 경우 아래 BOM 추가 - UTF-16 : 0xFEFF (Big Endian) / 0xFFFE (Little Endian) - UTF-8..
보통 TCP/IP만 써왔어서 이번에 UDP 관련코딩은 처음 해보는데, bind()를 안하면 왜 수신이 안되는 지, 서버에서 sendto()를 먼저 하면 왜 수신이 안되는지 여기저기 찾아보다 알아낸 내용을 정리해본다. [ UDP (User Datagram Protocol) 통신 ] - 전송 계층의 비연결 지향적 프로토콜 - TCP/IP와 달리 연결 과정이 불필요함 (but, Connect 함수를 사용하는 경우도 존재) - 1:1 뿐만 아니라 1:N, N:N 통신이 가능 - 흐름제어가 없어 패킷의 전송 순서나 수신 여부에 관한 오류를 확인할 수 없음 - 신뢰성보다 속도와 성능이 중요시 되는 경우(ex. 실시간서비스)에 사용함 UDP/IP 통신에서는 TCP/IP의 read(), write() 대신 recvfr..
IP 주소를 입력하고, 받아올 수 있는 컨트롤인 IP Address Control 의 사용법에 대해 알아보겠당 1. 먼저 다이얼로그에 컨트롤을 생성하고, 컨트롤의 ID를 원하는 ID로 바꿔준다. 2. 컨트롤을 마우스 오른쪽 버튼으로 눌러 변수 추가 메뉴를 선택, CIPAddressCtrl 형 변수를 추가한다. 3. 코드 // Edit Control -> IP Address Control CString strInput; CString strIP1, strIP2, strIP3, strIP4; GetDlgItemText(IDC_INPUT_EDIT, strInput); // IP주소를 "." 을 기준으로 각각 나눠서 저장 AfxExtractSubString(strIP1, strInput, 0, '.'); Afx..
MFC에서 아래와 같이 파일이나 폴더를 선택하여 경로를 가져와야 할 때 ! 폴더 및 파일을 선택하는 다이얼로그를 띄우고싶다면, 아래와 같이 하면 된다. 1. 폴더 선택 다이얼로그 BROWSEINFO BrInfo; TCHAR szBuffer[512]; // 경로저장 버퍼 ::ZeroMemory(&BrInfo, sizeof(BROWSEINFO)); ::ZeroMemory(szBuffer, 512); BrInfo.hwndOwner = GetSafeHwnd(); BrInfo.lpszTitle = _T("파일이 저장될 폴더를 선택하세요"); BrInfo.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX | BIF_RETURNONLYFSDIRS; LPITEMIDLIST pItemIdLis..
1. Radio Button 생성 - 도구상자 - Radio Button을 이용해 아래와 같이 버튼을 생성할 수 있다. 2. Group 지정 - 위 상태에서, Group1 / Group2의 라디오 버튼을 나눠서 사용하고 싶다면 아래와 같이 설정값을 변경해주어야 한다. - 1) 먼저, Ctrl + D를 눌러, 한 그룹의 버튼 번호가 순차적으로 증가하도록 순서를 맞춰준다. (마우스를 이용해 다이얼로그 아이템을 순차적으로 클릭해주면 됨) - 2) 그 다음, 그룹화 대상의 첫 번째 버튼과 마지막 버튼의 속성을 아래와 같이 변경해준다. (처음-마지막을 제외한 버튼은 Group/Tabstop 모두 FALSE 상태인 채로 두면 됨) - 마찬가지로 Radio4, Radio6의 속성도 변경해주면, 라디오버튼을 2개의 그..
*** 현재 실행파일(.exe)의 위치를 기준으로 경로를 얻어 작업하고 싶을 때, 다음의 함수를 이용 ! 1) 정의 : DWORD WINAPI GetModuleFileName(HMODULE hModule, // 현재 실행되고 있는 모듈의 핸들, 또는 NULL(자신의 실행경로 반환)LPTSTR IpDileName, // 실행 경로를 받을 포인터DWORD nSize // 실행 경로가 들어갈 버퍼의 길이); ex) GetModuleFileName(AfxGetApp()->m_hInstance, szPath, _MAX_PATH); : szPath에 현재 실행되는 프로그램의 FullPath가 넘어옴 (ex) c://Desktop//TestPJT//Debug//TestPJT.exe) 2) 예시/* 실행 파일의 경로 ..
1. 스플래쉬 화면의 바탕이 될 비트맵 이미지 리소스(.bmp) 추가 및 ID 변경 IDB_SPLASH_BMP (리소스 명 임의 설정) 2. Cwnd을 상속받는 CSplashScreenEx 클래스 추가 및 코드 작성 (클래스 명은 임의로 설정) 코드는 아래 첨부파일 참조 3. MainFrm.cpp에 Splash 화면을 띄우는 코드를 작성 CSplashScreenEx pSplash; pSplash.Create(this, _T("CSplashScreenEX text:"), 0, CSS_FADE | CSS_CENTERSCREEN | CSS_SHADOW); pSplash.SetBitmap(IDB_SPLASH_BMP, 255, 0, 255); pSplash.SetTextFont(_T("Impact"), 100, ..
- Total
- Today
- Yesterday
- 냉면
- 브리달메이웨딩밴드
- 광명무역센터컨벤션 dvd
- 그래픽카드후기
- 브리달메이결혼반지
- 광명무역센터컨벤션 #본식스냅 #메인스냅 #서브스냅 #촬영후기 #1인작가 #대표작가 #하루그라피
- 가산디지털단지 맛집
- 가성비맞춤정장
- 가성비예복
- 종로다이아반지추천
- 광명 본식 dvd
- Visual Studio
- 브리달메이
- 종로브리달메이
- 부평
- 무한리필
- 본식예복
- 브리달메이다이아
- 백준알고리즘
- 종로프로포즈링추천
- 부평맛집
- 광명무역센터컨벤션
- 광명 무역센터 블랑논
- C++
- 본식맞춤예복
- MFC
- 종로결혼반지추천
- 라레토추천인
- 롯데리아
- 라레토페이백
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |