일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 별찍기
- C++
- 도움말
- C
- mysql
- do it c
- MFC
- 정처기 독학
- 핵심 요약
- 미가공
- linux
- Time
- 마이크로소프트
- win32
- Tipsware
- C언어
- 실습
- tips강좌
- 충무창업큐브
- 포트폴리오
- 김성엽
- MyThread
- 유료강좌
- mfc 실습
- MFC 예제
- ListBox
- visual
- 정보처리기사
- MyTread
- SSG
- Today
- Total
목록C++ (60)
History
1. FTP에 접속하기 위해서는 아래의 헤더파일과 lib를 포함시켜야 한다. #include #pragma comment(lib,"wininet.lib") #include "direct.h" 2. 멤버 변수 선언 HINTERNET mh_ftp_session; //세션 생성을 위한 멤버 변수 HINTERNET mh_ftp_connection; //세션과 연결하기 위한 멤버 변수 3. 세션 생성하기 Win32 인터넷 함수를 사용하려면 세션을 생성해야 합니다. 세션은 InternetOpen 함수를 사용해서 생성할 수 있으며 다른 인터넷 함수를 사용할 때 사용됩니다. FTP 클라이언트를 만들기 위해서는 아래와 같이 InternetOpen 함수를 호출하여 세션을 생성하면 된다. mh_ftp_session = ::..
- Heap Memory는 프로그램에서 동적으로 할당된 메모리를 관리하는 데 사용되는 영역이다. - 운영체제는 프로그램이 실행될 때 프로그램에 메모리 공간을 할당한다. 이 공간은 stack과 heap으로 구분된다. - stack은 지역 변수와 함수 호출 시 생성되는 변수들을 저장하는 영역이고, heap은 동적으로 할당되는 메모리를 저장하는 영역이다. - heap Memory는 프로그램에서 필요한 만큼 동적할당해서 사용한다. 대표적으로 malloc, calloc, realloc, new와 같은 함수(new는 연산자)로 heap 영역에 메모리 할당이 가능하며 메모리 주소를 반환한다. - 반환된 주소는 포인터 변수에 저장되며, 이 포인터 변수를 통해 할당된 메모리에 접근 가능하다. - heap 메모리는 sta..

이전 빌드를 해결하고 다시 빌드를 돌렸더니, 이번엔 C1083 오류가 나왔다. 이 오류 코드에 대한 문제의 원인은 MS 공식 도움말을 참고해서 몇 개 적어보겠다. 1. 지정한 파일 이름이 잘못된 경우 원하는 .h 파일 이름 확장명이 없다. 예를 들어서 include 지시문에서 올바른 철자로 include를 했으면 오류가 안 난다는 말이다. 또한 하위 디렉터리에 있는 헤더를 include를 해야할 상황이라 아래와 같이 선언을 해줘야 한다. #include 2. 잘못된 버전의 파일 이름이 포함된 경우 현재 x86으로 빌드 중일 때만 #include가 적용될 때가 있다. 이때 include를 잘 확인해야 한다. 3. 파일이 포함 검색 경로에 포함되지 않음 include문이 따옴표로 묶인 경우 이렇게 하면 컴파..

버그의 종류는 크게 2가지로 나뉜다. 1. 문법상 코드를 잘못 작성해 발생하는 문법오류. 2. 문법상 문제는 없지만 예상치 못한 결과가 발생하는 논리적 오류. 문법 오류는 IDE의 인텔리센스가 경고를 띄워주기 때문에 대처가 가능하지만, 논리적 오류는 코드상 문제가 아니라 들어온 데이터, 수식 상 문제 등으로 발생하는 것이기 때문에 어느 위치에서 오류가 발생했는지 알기 쉽지 않다. #include #pragma warning(disable:4996) int Func(int a_value) { int temp=5; temp /= a_value; return temp; } int main() { int ans=Func(0); } 간단히 위와 같은 코드로 예시를 들겠다. 위 코드에서 인자값으로 0을 줬고 인자값..

c언어에서는 올림(ceil)과 내림(floor) 함수는 지원하지만 반올림 함수는 따로 지원하지 않는다. ceil과 floor함수는 math.h를 include 해줘야 사용할 수 있는 라이브러리 함수이다. float data1=1.75452; float data2=0.1353; 위처럼 float형 data1과 data2라는 변수를 선언하고 초기화한다. data1을 기준으로 ceil을 사용하면 2.000000이 나올 것이고 floor을 하면 1.000000이 나온다. 난 floor을 활용하여 반올림을 간단하게 구현해보도록 하겠다. #include #include #pragma warning(disable:4996) int main() { float data1=1.75452; float data2=0.1353..

처음 프로젝트를 만들면 다이어로그 기본 세팅이 위 이미지와 같을 것이다. "TODO: 여기에 대화 상자 컨트롤을 배치합니다." 이 문구는 기본적으로 STATIC 컨트롤로 되어있는데 속성은 아래와 같다. ID부분을 보면 IDC_STATIC이라고 되어있다. IDC_STATIC은 해당 STATIC의 ID를 나타내는 것으로 문자열을 변경하려면 아래 코드를 이용해서 바꿀 수 있다. BOOL CtestStaticStringDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 이 대화 상자의 아이콘을 설정합니다. 응용 프로그램의 주 창이 대화 상자가 아닐 경우에는 // 프레임워크가 이 작업을 자동으로 수행합니다. SetIcon(m_hIcon, TRUE);// 큰 아이콘을 설정합..
STL의 개요 STL은 표준 템플릿 라이브러리(Standard Template Library)는 템플릿으로 작성된 많은 제네릭 클래스와 함수 라이브러리이다. STL의 종류 컨테이너-템플릿 클래스 순차 컨테이너=> 백터(vector), 리스트(list) 컨테이너 어댑터=> 스텍(stack) 큐(queue) 연관 컨테이너=> 맵(map), 셋(set) iterator- 컨테이너 원소에 대한 포인터 iterator는 반복자라고 불린다. -> 컨테이너 원소에 대한 포인터이다. 즉 iterator은 STL의 원소에 접근할 수 있다. 알고리즘- 템플릿 함수 컨테이너의 원소에 대한 복사, 검색, 삭제, 정렬의 기능을 구현한 함수들 STL 컨테이너의 종류 vector 가변 크기의 배열을 일반화한 클래스 list 빠른 ..
이번 차시 게시글에서는 템플릿과 STL에 대해서 공부한 내용을 간단히 써보려고 한다. 1. 템플릿이란? 템플릿이란 본떠서 찍어내기 위해 만들어진 틀이라는 뜻을 가지고 있다. 이렇게 코드를 찍어내듯이 생산할 수 있도록 일반화(generic) 시키는 도구가 템플릿이다. 2. 템플릿은 어떨때 사용하나? 템플릿은 함수의 중복이 있을 때 사용하면 용이하다. 함수의 이름은 같지만 인자값이 달라도 실행은 된다. 이것이 오버로딩이라고 한다. 그러나 오버로딩을 쓰는 이유는 같은 기능을 하지만 자료형이 다를 때 많이 쓰이는 개념이기도 하다. 그래서 개발자는 함수의 이름의 중복을 생각하지 않고 편하게 쓸 수 있지만, 이렇게 프로그래밍을 진행하게 된다면 코드의 줄 수는 어마무시하게 늘어날 것이다. 템플릿은 이런 중복 함수를 ..