C

· Language/C++
MFC 기본 함수 중 DeleteDirectory(..) 함수는 폴더 내 파일 또는 하위 디렉토리가 존재할 경우, 해당 폴더까지 전부 삭제 후 동작된다. 따라서 야매로 만든 간단한 방법. cmd 명령어를 사용하는 코드이다. void CClientControl::DeleteDirectory_Shell() { CString strCmd; CString strTarget; // strTarget.Format(삭제할 폴더 경로 + 이름); // strTarget.Format(_T("E:\\Working\\test_folder")); 예시 strCmd.Format(_T("/c echo Y | cmd /c rd /s %s"), strTarget); ::ShellExecute(NULL, "open", "cmd", (..
· Application
이번 예제는 아주 간단한 프로그램으로, 단순하게 + 버튼을 누르면 숫자가 증가하고, - 버튼을 누르면 숫자가 감소하는 프로그램입니다. 본 예제는 학습을 위하여 SubClassDlgItem과 Timer를 활용하여 구현되었습니다. // SampleDlg.h class CSampleDlg : public CDialogEx { // 중략.. afx_msg BOOL OnCommand(WPARAM wParam, LPARAM lParam); afx_msg void OnTimer(UINT_PTR nIDEvent); public: intm_nCount; BOOLm_threadFlagPlus; BOOLm_threadFlagMinus; CWinThread *m_Thread; voidUpdateCount(); BOOLDest..
· Language/C++
어느정도 개발을 진행하다보면 반드시 사용하게 되는 것이 DLL이다. DLL을 사용했을 떄 장점, 단점 등은 구글링을 해보면 수십개가 나온다. 필자는 DLL 사용을 아주 선호하는 편인데, 그 이유는 내 코드가 간결해 진다는 것이다. (모듈화의 장점 중 하나) 그냥 깔끔한 코드를 좋아한다. 본론으로 들어가, DLL을 로드하는 방법은 크게 Implicit Link, Explicit Link가 있다. 한국말로 묵시적(암시적) 링크, 명시적 링크라고 하는데.. 뭐 개인적으로 명시적 링크를 선호한다. 예제를 보면, 먼저 DLL을 하나 만들었다. (SampleDLL.dll) // SampleDLL.h #pragma once extern "C" __declspec(dllexport) void PrintName(void..
· Language/C++
포인터와 주소 포인터 메모리의 주소 값을 담고 있는 변수 또는 상수 데이터 위치를 가리키는 변수 주소 메모리 저장된 위치(번지) & 연산자를 사용하면 특정 변수의 주소를 반환 단항 간접 참조 연산자 #include void main() { int a; int *pa; a=10; pa=&a; printf("a: %d\n", a); // 10 *a=100; printf("a: %d\n", a); // 100 } 더블 포인터 #include void main() { int A = 50, B = 100; int* pA = &A; int** dpA = &pA; /* Test 1 */ printf("pA : %d\n", *pA); // 50 printf("dpA : %d\n\n", **dpA); // 50 /* T..
· Language/C++
지역 변수 (Local Variable) – 선언한 지역을 벗어나면 기억 공간에서 자동 소멸 – 지역은 { } 로 구분 #include int main() { int a = 30; { int a = 60; printf(“1. a: %d\n”, a); } printf(“2. a: %d\n”, a); return 0; } 1. a: 60 2. a: 30 정적 변수 (Static Variable) – 정적 변수 사용하면 영역을 벗어나도 메모리 공간에서 소멸하지 않음 – 값 또한 그대로 유지 – 일종의 한번 선언하고 나면 계속 유지되는 변수 – 초기화 하지 않으면 자동으로 0으로 초기화 #include void count() { static int c; c = c + 1; printf(“c: %d\n”, c);..
· Language/C++
Memory allocation malloc은 코딩에서 동적 메모리 할당이라는 부분을 배울 때 가장 처음 등장하는 단어입니다. 이는 memory allocation의 준말로 정해진 static 공간이 아닌 dynamic한 공간이 프로그램에서 필요할 때 사용합니다. #include int main() { int length; char str1[100]; char *str2; printf("Input size: "); scanf("%d", &length); str2 = (char*)malloc(sizeof(char) * length + 1); // ... // 해제 } 사용자가 글자를 입력하는 상황이 발생할 때, 위와 같이 str1처럼 정적으로 받는 방식과 str2처럼 실제 필요한 크기만큼 동적으로 할당해서..
lasiyan
'C' 태그의 글 목록