Language & API
Language & API/C_기초
2017. 5. 18.
isalnum(_In_ int _C)사용법
선언 or ctype.h 정의_Check_return_ _CRT_JIT_INTRINSIC _CRTIMP int __cdecl isalnum(_In_ int _C); 설명숫자와 알파벳(대문자, 소문자) 일 경우 0외의 값을 나타냅니다.정의 매개변수에 int 로 되어있지만 실제 입력은 char 를 넣어야 합니다. 즉 아스키 코드 값에 대응합니다. 파라미터 _in_ int C : Char 로 넣으면 됩니다. 반환값숫자 4 알파벳 소문자2 대문자 1 예제12345678910111213141516#include #include #include int main(_In_ int _Argc, _In_reads_(_Argc) _Pre_z_ char ** _Argv, _In_z_ char ** _Env){ char tes..
Language & API/C
2017. 5. 15.
C C++ 윤년 평년 구하기
4년에 한번식 2월달이 29일 됩니다. 이와 같은 년도를 윤년이라 두는데 이런것을 치윤법이라 합니다. 치윤법에는 아래와 같은 공식이 있습니다. 1. 4년에 한번은 윤년이라 한다. 2. 100년에 한번은 윤년이라 하지 않는다. 3. 400년에 한번은 윤년으로 한다. 예를 들면 2000년은 400으로 나누어 떨어지기에 윤년이라 하며 2100년은 100으로 나누어지기에 평년이라 합니다. 그럼 아래 소스코드를 보겠습니다. 1234567891011121314151617181920212223242526272829303132333435363738#include #include #include using namespace std; int leapYear(int year); int main(_In_ int _Argc, ..
Language & API/C_기초
2017. 5. 15.
assert(_Expression) 사용법
assert() Function 선언 or 정의 #define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) ) 설명 매크로로서 인수가 0과 같으면 메세지가 표준 오류 장치에 기록되고 프로그램을 중단시킵니다. 그렇다고 해서 빌드 자체가 안되는 것은 아닙니다. VS2013에서 Release모드랑 Debug 모드로 빌드는 잘되었습니다. 주로 사용은 디버깅 용도로 사용하면 되는데 실제 릴리즈에서는 해당 Funtion의 기능을 끄고 다른 방법으로 대처해나가야합니다. assert 만나서 실행 중지되면 사용자들에게 막대한 피해를 줄수 있습니다. 파라미..
Language & API/C
2017. 5. 2.
[코딩]VS2013 printf 64bit 주소 출력하기
printf 문에 주소를 표현하고 싶었습니다. %X %08X 를 사용하였으나 잘려나왔습니다. 아래와 같이 수정한 후 제대로 표현이 되었습니다. 123unsigned char b = 0x12;unsigned char *tt = &b;printf("0x%p", tt);cs 0x%p를 사용하였습니다. specifier Output Example x Unsigned hexadecimal integer 7fa X Unsigned hexadecimal integer (uppercase)7FA p Pointer address000000079B6AE324
Language & API/C
2017. 4. 27.
[코딩]문자열 리터럴 연결
두 줄 이상이 필요한 문자열 리터럴을 형성하려면 두 문자열을 연결합니다. 이렇게 하려면 백슬래시를 입력한 다음 리턴 키를 누릅니다. 백슬래시를 사용하면 컴파일러가 다음 줄 바꿈 문자를 무시합니다. 예를 들어, 다음 문자열 리터럴은 "Long strings can be bro\ ken into two or more pieces." 다음 문자열과 동일합니다. "Long strings can be broken into two or more pieces." 문자열 연결은 이전에 백슬래시를 사용한 모든 위치에 사용할 수 있습니다. 두 줄 이상의 문자열을 입력하려면 뒤에 줄 바꿈 문자를 추가하면 됩니다. 문자열 리터럴 내에서 줄을 강제로 추가하려면 다음과 같이 줄을 나눌 문자열 지점에 줄 바꿈 이스케이프 시퀀스(\..
Language & API/C
2017. 4. 24.
strcpy 와 strcpy_s 차이점
Vs 2013 에서는 strcpy를 사용하지 못하도록 되어있습니다. 하지만 아래와 같이 옵션을 No로 변경하면 strcpy를 사용할수 있습니다.. 그리고 되도록 이면 strcpy_s를 사용하면 좋습니다. 아래 코드를 보면서 strcpy와 strcpy_s에 대해 좀더 설명하도록하겠습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include int main(_In_ int _Argc, _In_reads_(_Argc) _Pre_z_ char ** _Argv, _In_z_ char ** _Env){ char _dest[10] = {0,}; char _Source[10] = "123456789"; //[0..
Language & API/MFC
2017. 4. 12.
MFC 계층 구조 차트
다음 그림은 CObject에서 파생된 MFC 클래스를 나타냅니다. 다음 그림은 CWnd 및 CCmdTarget에서 파생된 MFC 클래스를 나타냅니다. 다음 그림은 CObject에서 파생되지 않은 MFC 클래스를 나타냅니다. MSDN 링크로 따라가면 다운을 받을수가 없습니다. 아래를 클릭해서 다운을 받도록 합니다.
Language & API/WIN API
2017. 4. 10.
WaitCommEvent 함수
Waits for an event to occur for a specified communications device. The set of events that are monitored by this function is contained in the event mask associated with the device handle. 지정된 통신 장치에서 발생하는 이벤트를 기다린다. 지정된 이벤트는 디바이스 핸들과 연관된 이벤트 마스크를 포함하며 이 함수에 의해 모니터된다. Syntax C++ 12345BOOL WINAPI WaitCommEvent( _In_ HANDLE hFile, // CreateFile HANDLE _Out_ LPDWORD lpEvtMask, // 수신 Mask 이벤트 _In_ LPO..
Language & API/WIN API
2017. 4. 10.
SetCommMask 함수
Specifies a set of events to be monitored for a communications device. 통신 장치에 대해 모니터 될 이벤트 세트를 지정합니다. Syntax C++ 1234BOOL WINAPI SetCommMask( _In_ HANDLE hFile, // CreateFile HANDLE _In_ DWORD dwEvtMask // EV_BREAK, EV_CTS, EV_DSR, EV_ERR, EV_RING, EV_RLSD, EV_RXCHAR, EV_RXFLAG, EV_TXEMPTY);Colored by Color Scriptercs hFile [in] A handle to the communications device. The CreateFile function retu..