[C++] tolower, toupper 대소문자 변환

안녕하세요 오늘은, C++의 대소문자 변환하는 함수 tolower, toupper 함수를 알아보겠습니다.tolower, toupper함수는 인자로 1개의 아스키 코드 값을 전달 하면 해당 문자의 대소문자를 변환해 줍니다. 대문자 -> 소문자로 변환하는 tolower의 함수 원형은 아래와 같습니다. msdn에서는 tolower을 수행하기 위해서 __isascii 함수와 isupper 함수를 수행해야 개발자가 예상되는 결과를 제공한다고 합니다. msdn을 참고하여 함수를 만들면 아래와 같습니다. acStr에서 ASCII이고 대문자인 “~hELlo WorLd!”만 변환 됩니다.(굵은 글자)소문자 … Read more

[C++] _tcstol, strtol, wcstol 문자열 진수 변환

오늘은 문자열을 쉽게 2진수, 10진수, 16진수로 변경할 수 있는 _tcstol 함수에 대해 알아보겠습니다. 함수 원형은 아래와 같습니다. 오버플로우가 되면 LONG_MAX또는 LONG_MIN이 반환됩니다.3번째 인자(진수)가 2보다 작거나 32보다 크면 ERANGE , EINVAL을 반환합니다.해당 함수는 변환이 불가능하면 0을 반환합니다.  사용 예제는 아래와 같습니다. 필요 헤더파일은 아래와 같습니다. Routine Required header _tcstol <tchar.h> strtol <stdlib.h> wcstol <stdlib.h> or <wchar.h> _strtol_l <stdlib.h> _wcstol_l <stdlib.h> or … Read more

[Visual C++] 문자열에 대하여 – 유니코드, 멀티바이트

가끔 프로그램을 만들다 보면 코드상으론 한글을 잘 표시했는데, 실행시켜보면 한글이 깨져있는 경험들이 있을겁니다. 프로그램뿐만 아니라 파일에서도 분명히 한글로 저장했는데 메모장으로 열었을 때 한글이 저장되어있지 않은 경우도 있구요. 최근엔 프로젝트 생성하더라도 유니코드로 기본 설정 되는데 가끔 개발을 하다보면 멀티바이트, 와이드캐릭터 등 이야기를 할 때가 있습니다. 초기에 컴퓨터가 만들어졌을 때엔 컴퓨터는 단어 그대로 compute, 수치 연산을 하기 … Read more

[C++] namespace

처음에 개발을 배우면 아래와 같이 둘중 하나를 가지고 코딩하게 됩니다. 또는 저는 std:: 쓰는게 싫어서 using namespace std;를 많이 사용했습니다.이 namespace는 왜 쓰는 걸까요? namespace는 코드 영역을 정의하기 위해 사용합니다. 아래 코드를 보시죠. 아래의 두 Sum 함수가 있다고 합니다. 이 두 헤더 파일을 include 해서 사용하면 에러가 발생합니다. 어떤 것을 사용할지 모호 에러가 나타납니다.이럴 경우 … Read more

[WinAPI] CScrollBar 사용법 – 2-2. 횡스크롤 만들기

안녕하세요. 저번 글까지는 스크롤을 만드는 것까지 했는데, 이번 글에서는 약간의 설명과 코드를 바로 첨부해 드리겠습니다. 코드를 하기 앞서 dc와 dcTemp, 그리고 스크롤로 표현 하는 방법을 설명해드리겠습니다.최종적으로 사용자가 보는 dc화면이 있습니다. 이 dc에서 CRect rect를 이용하여 크기를 구합니다.그리고 가로 크기는 10000, 세로는 dc 와 같은 dcTemp를 생성해줍니다. 그리고 dcTemp에 0, 100, 200, … , 9900 같이, 100 위치마다 … Read more

[WinAPI] CScrollBar 사용법 – 2-1. 횡스크롤 만들기

안녕하세요, 저번 글에 이어서 CScrollBar을 이용하여 특정 화면을 만들어 보도록 하겠습니다. 이번 글에서는 아래와 같이, 횡으로 화면이 전환되는 예제를 만들어 보겠습니다. MFC 프로젝트를 하나 생성하신 뒤, Static Control을 추가하시고 아래와 같이 속성들을 설정합니다.빨간색 부분은 무조건 설정 해주셔야하고, 파란색 부분은 꼭 하실 필요 없습니다.(그냥 보기 좋으라고 한겁니다.) 그리고 Static Control을 우클릭 하여 변수 추가를 합니다. 그리고 난 후 아래와 같이 변수 … Read more

[WinAPI] CScrollBar 사용법 – 1. 기초

안녕하세요, CScrollBar의 사용법에 대해 알아보겠습니다.이번 글에서는 CScrollBar를 생성하는 코드만 알아보고 다음 글에서부터 이를 활용하여 화면을 만들어 보도록 하겠습니다. 가로 스크롤을 만든다는 가정하에 아래와 같이 헤더파일에 CScrollBar를 선언합니다. CScrollBar를 생성하는 방법은 아래와 같습니다. CScrollBar의 범위와, 위치, 정보를 설정하는 방법은 SCROLLINFO 구조체를 사용합니다. 그 방법은 아래와 같습니다. CScrollBar의 정보를 얻는 방법은 아래와 같습니다. 위 코드는 CScrollBar 사용하는 방법입니다. 다음 글에서는 이 방법들을 이용하여 사용자가 원하는 화면을 만들어 보도록 하겠습니다.

[Visual C++] CToolTipCtrl 사용법

오늘은 ToolTip에 대해 알아보겠습니다. 툴팁이란 아래와 같이 컨트롤에 마우스 오버를 하면 설명 문구가 나오는 것을 말합니다.해당 기능은 버튼이라던지, 어떤 컨트롤에 대한 표시 설명이나, 컨트롤의 작업에 대한 설명을 적기도합니다. MFC 프로젝트 생성 후 대화상자 헤더파일에 아래와 같이 멤버변수를 선언해주세요. OnInitDialog에 아래와 같이 코딩합니다. 이 상태로 빌드 후 실행하면 해당 컨트롤에 마우스 오버를 하면 툴팁이 표시됩니다. 간단하죠?툴팁은 … Read more

클립보드 텍스트 저장하는 프로그램

작업을 하다보면 Ctrl + C, V를 많이 사용하는데 텍스트가 저장되었음 좋겠다고 생각 해서 만들어본 프로그램 입니다.OS가 32bit면 ClipboardText.exe를 64bit면 ClipboardText64.exe를 실행해주세요 사용자가 PC를 사용하다가 텍스트를 복사를 합니다. 그러면 우측에 프로그램 리스트에 추가가 됩니다. 문자열을 여러 개 복사하면 계속 추가가 됩니다. (중복 문자열은 추가되지 않습니다.) 오른쪽에 추가 된 문자를 선택(Ctrl + C와 같은 작업)하고, 메모장에 Ctrl + V를 … Read more

[WinAPI] MailSlot, 메일 슬롯 사용법

오늘은 프로세스간 통신 방법인 메일 슬롯 사용법에 대해서 알아보겠습니다. 메일 슬롯에 대해 약간의 설명을 하자면, 우체통과 비슷하다고 볼 수 있습니다.아래 그림과 같이 A가 B에게 편지를 보낸다고 할 때, A는 편지를 우체통에 넣고, B는 우체통에서 편지를 찾아가면 됩니다. 이 방식은 매우 편리해서 아래와 같이 A는 우체통에 편지를 여러번 집어 넣을 수 있고, B가 나중에 한번에 찾아갈 … Read more