본문 바로가기

c++25

isalpha / iswalpha / _ismbcalpha / _istalpha - 정수값이 영문자인지 확인 isalpha, iswalpha, _ismbcalpha, _istalpha 용도 확인할 정수값이 영문자(alphabet)인지 확인 구문 #include int isalpha(int c); int iswalpha(wint_t c); int _isalpha_l(int c, _locale_t locale); int _iswalpha_l(wint_t c, _locale_t locale); #include int iswalpha(wint_t c); int _iswalpha_l(wint_t c, _locale_t locale); #include int _istalpha(_TINT c); 매개변수 c 확인할 문자의 정수값 locale locale 반환 문자의 정수값이 A~Z, a~z 의 영문자인경우 nonzero를 .. 2018. 11. 30.
_strinc / _stcsinc / _mbsinc / _wcsinc - 바로뒤의 문자 포인터 반환 _strinc, _stcsinc, _mbsinc, _wcsinc 용도 바로 뒤에 따라오는 문자의 포인터 반환 구문 #include char *_strinc(const char *current, _locale_t locale); #include unsigned char *_mbsinc(const unsigned char *current); #include wchar_t *_wcsinc(const wchar_t *current, _locale_t locale); 매개변수 current 문자 포인터 locale 사용할 locale 반환 current 바로 다음위 문자 포인터 추가설명 current 매개변수의 문자에서 바로 다음에 있는 문자의 포인터를 반환하는 함수입니다. "_strinc"처럼 "locale"매.. 2018. 11. 30.
isspace / iswspace / _ismbcspace / istspace - 정수값이 공백문자인지 확인 isspace / iswspace / _ismbcspace / istspace 용도 파라미터의 정수값이 공백문자인지 확인 구문 #include int isspace(int c); int iswspace(wint_t c); #include int istspace(_TINT c); 매개변수 c 확인하고자 하는 정수값 반환 확인한 정수값이 공백문자에 해당된다면 nonzero를 반환 추가설명 T캐릭터 함수를 사용하면 아래와 같이 호출됩니다. 미정의시: isspace _MBCS 정의시: _ismbcspace _NICODE 정의시: iswspace 끝! 2018. 11. 30.
유니코드 / 멀티바이트 / T캐릭터 - 문자열 함수 유니코드 / 멀티바이트 / T캐릭터 - 문자열 함수strcpy_s / wcscpy_s / _mbscpy_s / _tcscpy_s - 문자열을 복사strncpy / wcsncpy / / _tcsncpy - 사이즈 만큼 복사strlen / wcslen / _mbslen / _tcsnlen - 문자수 반환strcat / wcscat / / _tcscat - 두 문자열 이어 붙이기strncat/wcsncat / / _tcsncat - 사이즈 만큼 이어 붙이기strcmp / wcscmp / / _tcscmp - 문자열 비교 (반환 값(-1, 0, 1))strncmp / wcsncmp / _mbsncmp / _tcsncmp - 지정크기만큼 문자열 비교stricmp / wcsicmp / / _tcsicmp - 대소문.. 2018. 11. 29.
enum의 비트연산 활용 (여러가지 조건 한번에 비교하기) 열거자라고 하는 enum의 bit 연산을 활용하면 복수의 조건을 비교선택해야 하는 상황에서 간단하게 코드를 작성할 수 있습니다. 평소에 enum을 사용한 코드들을 보면 깊이 생각지 않고 개발자가 명명한 enum의 이름대로 직관적으로 코드의 흐름만 이해하고 넘어갔기 때문에 배우지 못했던 방법이었는데 알고나니 유용한것 같습니다. enum의 용도 enum은 말그대로 나열되는 이름들에 차례대로 번호를 부여해서 논리적 관계를 기술하기 여려운 개념도 산술적으로 기술할수 있도록 해주는 유용한 기능입니다. 그래서 코드의 가독성이 높아지도록 할 수 있는데요. 예를 들어 다음과 같습니다. enum day { Mon=1, Tue, Wed, Thr, Fri, Sat, Sun }; int today = Mon; int some.. 2018. 11. 29.
CodeProject.com에서 다운받은 C++ 프로젝트 컴파일 하는 방법 인터넷에 공개된 소스코드를 받아서 컴파일하는 방법을 알아 보겠습니다. 한번만 해보면 별거아닌건데 제가 공부를 시작했던 초반에는 남들다 만들어 놓은 프로젝트인데도 컴파일을 못해서 사용을 못했던 안타까운 기억이 있습니다. 이런내용도 누군가에게 도움이 되길 바라며 기록을 남깁니다. 저는 요즘, 테이블로 작성된 웹페이지를 받아와서 HTML코드를 파싱한 후 필요한 데이터를 골라오도록 하는 프로그램을 만들려고 공부를 하고 있습니다. 이런 때, 가장 쉬운방법은 인터넷의 많은 능력자분들께서 만들어 놓은신 예제 코드를 활용하는 거죠. 어디서 어떻게 시작해야 할지 모를때, 예제 프로그램에서 내가 필요한 부분들을 하나씩 수정해 나가다 보면 원하는 결과물도 빨리 얻을 수 있고, 내가 어떤 부분을 몰랐는지도 알수있게 되죠. 또.. 2018. 11. 14.
연산자 (Operators) 정리 C++ 언어의 연산자 총괄표 입니다. (최대한 모든 연산자를 담고자 했습니다.) 연산자 표기 사용법 및 설명 범위확인 :: 여러범위에서 식별자를 구분 멤버선택 . 혹은 -> 구조체 및 클래스의 멤버를 참조 베열 첨자 [ ] arr[5] //배열 참조 함수 호출 ( ) function( ) // 함수호출 더하기 + x+y 빼기 - x-y 곱하기 * x*y 나누기 / x/y 나머지 % x% 더하기 할당 += x += 5; // x = x + 5 빼기 할당 -= x -= 5; // x = x - 5 곱하기 할당 *= x *= 5; // x = x * 5 나누기 할당 /= x /= 5; // x = x / 5 나머지 할당 %= x %= 5; // x = x % 5 증가 ++ x++; ++x; 감소 -- x--;.. 2018. 11. 12.
C++/MFC 변수 총정리 - 타입, 크기, 범위, 표현형 아래표는 윈도우 기준 32비트와 64비트에서 각 변수들의 크기와 범위를 정리한 표이다. 그리고 코딩시 가끔 사용되지만 기억하지못해서 매번 찾게되는 타입별 표현형(format)도 같이 정리했다. 32비트와 64비트 윈도우는 서로다른 데이터 모델을 사용하지만 아래 표에서 정리된 타입들은 모두 동일하며 차이는 표에 표현하지 않은 포인터에서 차이가 난다. (32비트에서는 32비트, 64비트에서는 64비트로 표현) 기본 자료형 타입별 크기와 범위 분류타입 크기[bytes] 범위표현형 / 비고 void void- - - Boolean bool 1 0 or 1 - Integer (signed) 부호있는 정수형 char / signed char1 -127 ~ 127 %c, %hhi signed short int / s.. 2018. 10. 29.
[C++/MFC 핵심노트] MFC를 이용한 윈도우 프로그램 5분만에 만들기 VS를 설치 했으니 아주 간단하게 프로그램을 하나 만들어 보겠습니다.VS 설치방법은 이전 블로그를 참고해 주세요. (Visual Studio Community 2017 설치 따라하기) VS를 실행합니다. 자 새로운 프로젝트를 만들어 보겠습니다.메뉴에서 파일 >> 새로 만들기 >> 프로젝트 를 눌러줍니다. 단축키는 Ctrl + N 이네요.아래와 같이 팝업이 하나 뜨면 왼쪽 트리 메뉴에서 설치됨 >> Visual C++ >> MFC를 따라갑니다.그러면 오른쪽과같이 만들수 있는 기본 프로젝트가 나타나는데요 그중에서 저희는 MFC 응용 프로그램을 고릅니다.그리고 창 아래쪽에 프로젝트 이름을 정해줍니다. 저는 MyFirstProgram으로 했습니다. 솔루션이름은 프로젝트이름과 같이 자동으로 입력되네요. 솔루션은 .. 2018. 10. 25.
Windows mobile program 개발 환경 구축  이 프로젝트의 제목을 구지 표현하자면 "Custom Soft Input Panel (SIP) for Pocket PC" 정도가 되지 않을까요?! (음... 거창하군..) 순전히 이지한글을 계속 쓰고 싶다는 생각으로 단순 무식하게 발을 들여놓았기 때문에 프로그래밍은 저에게 처음부터 첩첩산이었습니다. 하나부터 열까지 심지어, 이름조차 생소한 것들이라 기본적인 배경은 알아야 하겠구나 생각했습니다. Windows mobile, Windows CE, PPC, PalmPC, SmartPhone 도데체 이게 뭔지... 웹서핑을 하다보면 어렵지 않게 만나게 되는 단어들인데 누구는 이렇게 누구는 저렇게 사용하고 있어서 "이거 나랑 관련있는거 맞아?!" 라는 생각을 하게 만듭니다. 그러던 중 아주 명쾌한 답을 발견했.. 2009. 1. 4.