C++ 10

[C++] 클래스 객체 정적 할당, 동적 할당 하는 법

class : 객체를 사용하기 위한 틀이라고 많이 표현한다. class안에 변수, 함수를 선언하며 class 안에 있는 변수, 함수를 멤버변수, 멤버함수라고 부른다. 객체 : class라는 틀을 그대로 복사해 온다. 복사를 했으므로 class에 있는 멤버 변수, 멤버 함수를 사용 할 수 있다. class 안에 있는변수, 함수를 사용하기 위해서 객체를 만들어 줘야 한다. class가 하나만 존재 하면 수 많은 객체를 생성 하여 사용 할 수 있다는 장점이 있다. 생산성이 좋다고 표현한다. 객체 생성 방법에는 2가지 방법이 있다. 정적할당(stack) 아래 코드를 보면 function 이라는 객체가 멤버 변수 num을 접근 할때 ' . ' 연산자를 사용하는 것을 볼수 있다. (int num = function..

C++ 2024.01.30

[C++] C++에서 sqlite3 사용하기

SQLite를 C++ 에서 사용하려면 당연히 sqlite3.lib와 sqlite3.h을 추가해 줘야한다.아래 링크에 순서대로 설명 되어있다. - sqlite3 사용하기 전 준비 작업1. Sqlite 설치하기https://goodprogramer.tistory.com/14 [SQLite] SQLite 다운로드1. SQLite 란? SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 일반적인 RDBMS에 비해 대규모 작업goodprogramer.tistory.com   2. sqlite3.h 파일 다운받기 and 다운받은 sqlite3.dll, sqlite3.def 파일로 sqlite3.lib 를 ..

C++ 2024.01.26

[C++] C++ sqlite3.lib 만들기

C++에서 SQLite를 사용하기 위해선 sqlite3.lib 파일이 있어야 한다. sqlite3.lib 파일은 SQLite 사이트에서 다운 받은 sqlite3.def, sqlite3.dll을 가지고 만든다. 한번 sqlite3.lib 을 만들어보자. 1. SQLite 사이트에 들어간다. SQLite 사이트 https://www.sqlite.org/download.html SQLite Download Page Templates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used for source-code products that ..

C++ 2024.01.26

[C++] const (콘스트) 란?

- const(콘스트) 란? const는 변수 값을 상수로 만들어 준다. 변수 : 변하는 수 상수 : 변하지 않는 수 변수 앞에 const를 붙여 준다. 만약 변수 값을 변경 할 시 에러가 발생 한다. 협업 개발 시 또 다른 개발자에게 변수를 변경 하면 안된다는 것을 어필 할 수 있다. - Const 예제 이제 const 예제를 보자. #include void main() { const int a = 5; a = 4; } 위 소스를 visual studio에 복붙해보자. const int a의 변수 값을 변경 하려고 할 시 에러가 발생한다. 이 처럼 변수를 수정하지 말라는 개발자의 강력한 의지를 담는다.

C++ 2024.01.26

[C++ ] 2차원 포인터 정리

시작하기전 1차원 포인터에 대한 개념이 부족하다면 아래 링크 참조. https://goodprogramer.tistory.com/15 [C++ ] 1차원 포인터 정리 포인터는 C++ 의 꽃이라고 불리며 코딩을 더 편하게 하라고 만든 문법이다. 또한 C++ 을 배웠다면 꼭 알아야 할 개념이니 마스터 하고 넘어갈 것. 우선 메모리와 메모리 주소 할당 개념에 대해 알 goodprogramer.tistory.com 1. 2차원 포인터 선언 방법 1차원 포인터에서 * 을 하나 더 붙이면 2차원 포인터가 된다. int *ptr; //1차원 포인터 int **ptr2; //2차원 포이터 * 이 하나씩 붙을 때 마다 차원이 증가하며 2차원 이상 부터는 다차원 포인터라고 불린다. * 을 붙여 100차원 포인터 그 이상 ..

C++ 2024.01.25

[C++ ] 1차원 포인터 정리

포인터는 C++ 의 꽃이라고 불리며 코딩을 더 편하게 하라고 만든 문법이다. 또한 C++ 을 배웠다면 꼭 알아야 할 개념이니 마스터 하고 넘어갈 것. 우선 메모리와 메모리 주소 할당 개념에 대해 알아보자. 1. 메모리 주소 할당 개념 우선, 우리가 프로그램을 실행하면 각 변수마다 메모리가 할당된다. int a; //4byte 메모리 할당 double b; //8byte 메모리 할당 메모리가 할당 되면 각 변수에 주소들이 배정된다. 아래 예제는 각 변수마다 다른 메모리 주소가 할당 된다는 것을 위한 예시다. int a; //4byte 메모리 할당, 0x0001 메모리 주소 double b; //8byte 메모리 할당, 0x0100 메모리 주소 메모리 주소가 배정되는 이유는 컴퓨터가 메모리 주소를 찾아서 변..

C++ 2024.01.25

[C++] Vector(벡터) 사용법

C++은 STL(Standard Template Library)이라는 강력한 라이브러리를 제공한다.데이터 저장, 관리 하는 컨테이너(Container) 클래스를 제공하는데 그 중 하나가 Vector다. 게시물의 예제는 아주 단순한 예제다. 1. vector include#include 포함 시켜주자. 2. 기본적인 기능vector.Pushback(); // 값을 뒤에다 추가한다.vector.at(n); // n 번째 값을 꺼낸다. 3. vector 구현#include#include //stl제공 라이브러리 추가using namespace std;struct stUserInfo{int nAge;float fHeight;float fKg;};void main(){ vector Vec; //구조체 사용 ..

C++ 2024.01.18

[C++] FTP 파일 찾기 예제 (FtpFindFirstFile)

FTP에서 업로드 할 때 파일을 찾아야 하는 경우가 있다. 이때 FtpFindFirstFile 함수를 사용한다. 1. FtpFindFirstFile 함수 원형 HINTERNET FtpFindFirstFile( IN HINTERNET hFtpSession, IN LPCTSTR FileName OPTIONAL, IN LPWIN32_FIND_DATA FindData, IN DWORD Flags, IN DWORD Context); 함수 인수 설명 hFtpSession 설정된 FTP 세션. FileName 검색할 디렉토리 경로 이름 또는 파일 이름. NULL이 지정되면 서버의 현재 디렉토리의 첫 번째 파일이이 함수에서 검색됩니다. FindData 검색 결과. Flags InternetOpenUrl 참조. Cont..

C++ 2024.01.18

[C++] FTP Timeout 설정 예제 (InternetSetOption)

InternetSetOption 함수를 사용하면 FTP 연결, Data 송신, Data 수신 할 때 등 TimeOut 설정이 가능함. TimeOut이 가끔 안되는 버그가 있다고 함. 그럴 때는 Thread 하나 만들어서 InternetSetOption 함수 감시해주면 됨. 나는 문제없이 사용함. ​ 1. 함수 원형 BOOL InternetSetOption( IN HINTERNET hInternet OPTIONAL, //Ftp Internet 핸들(Internet 핸들) IN DWORD Option, //Time Out Define 를 default로 작성(Time Out 종류) IN LPVOID Buf, //Time Out Buffer IN DWORD BufSize); //Time Out Buffer S..

C++ 2024.01.18

[C++] FTP 예제(SImple Ftp Class)

C++로 Ftp 구현 시 사용하면 되는 Class다. Ftp 기능이 거의 대부분 구현되어 있다. 기능은 업로드, 다운로드, 이어받기 등 다양하다. 다운로드 아래는 SimpleFtp.h의 Class에 정의되어 있는 함수 원형이다. //로그인 BOOL Login(CString strIP, CString strID=_T("anonymous"), CString strPasswd=_T(""), UINT nPort = INTERNET_DEFAULT_FTP_PORT, HWND hCallWnd = NULL, BOOL bUtf8 = TRUE, BOOL bPassive = FALSE); //로그아웃 void LogOut(); //FTP서버에 연결되어있으면 TRUE, 아니면 FALSE BOOL IsConnected(); /..

C++ 2024.01.18