ProgrammingLang/c++ 34

[C++ 개발자되기] 14. millisecond시간 구하기

>>[C++ 관련 모든 글 보기] 1. 목표 millisecond단위 까지 시간 구하기, 사용하는 함수는 C함수 입니다. 2. 필요 헤더 1) #include - localtime_r() 사용을 위해 필요 - ftime() 에서 필요 - strftime() 에서 필요 2) #include - struct timeb 에서 필요로함 3. 필요 함수 1) void ftime(struct *timeb); - millisecond 까지 시간을 구하는 함수 2) struct tm *localtime_r(const time_t *timep, struct tm *result); - 지역 시간을 구하는 함수 4. 구조체 정보 1) struct tm #include // C++ 에서는 struct tm { int tm_s..

ProgrammingLang/c++ 2020.02.02

[C++ 개발자되기] 12. text file read 및 write

>>[C++ 관련 모든 글 보기] 1. 목표 text파일을 c++ style로 Read 및 Write하기 2. 필요 헤더 1) Read / Write - #include 2. 사용 하는 class 1) Read 할 떄 - std::ifstream("파일명" , "옵션") 2) Write 할 때 - std::ofstream("파일명" , "옵션") * 옵션 번호 옵션 설명 1 없음 기본 모드, 텍스트 모드 2 std::ios::banary 2진모드로 파일열기 * 참조 : [C++ 개발자되기] 8. binary file write 및 read 3 std::ios::app 파일의 끝에 추가한다 4 std::ios::ate 처음엔 파일의 끝에 추가되지만 그다음부턴 현재 위치에 추가된다 5 std::ios::in..

ProgrammingLang/c++ 2019.12.05

[C++ 개발자되기] 11. multi thread를 위한 lock 사용법

>>[C++ 관련 모든 글 보기] 1. lock 이란? multi Thread간의 동기화를 맞추기 위해서 사용하는 개념입니다. 이를 구현해 놓은 것이 c/c++에서는 mutex와 lock_guid 입니다. 2. lock은 꼭 필요 한가? multi thread 프로그램에서는 lock이 없다면 thead간 공유 데이터의 값이 엉망이 됩니다. 3. lock의 종류 1) mutex - c에서 부터 사용하던 lock 입니다. 2) lock_guard - mutex를 보다 안전 적으로 사용할 수 있게 제공되는 class 입니다. 4. lock 사용법 1) 기본 lock 사용자가 원하는 위치에서 lock을 걸고, 해제할 수 있습니다. int count(int n) { mutex.lock(); if( n < 10 )..

ProgrammingLang/c++ 2019.12.04

[C++ 개발자되기] 10. map 사용법

>>[C++ 관련 모든 글 보기] 1. map 이란? Key, Value 쌍인 데이터를 균형 binary tree로 관리하는 자료구조입니다. * 2진 트리 종류는 Red-Black Tree을 사용 2. map은 언제 쓰는가? 1) 입력하는 자료를 정렬해야 한다. 2) 많은 자료를 저장하고, 검색이 빨라야 한다 3) 빈번하게 삽입, 삭제하지 않는다. - 삽입, 삭제 시 자동 정렬이 발생하여 속도가 느려집니다. 3. map의 핵심 기능 1) find (1) map은 key가 있다면 vector처럼 Random access가 가능합니다. (2) iterator를 사용하여 순차적으로 검색이 가능합니다. 2) Insert (1) map은 자료를 삽입 시 내부에서 자동으로 Key 기준으로 오름차순 정렬(기본 정렬)..

ProgrammingLang/c++ 2019.12.02

[C++ 개발자되기] 9. type casting (cast operator)

>>[C++ 관련 모든 글 보기] 1. Type Casting이란? 변수의 type을 강제로 다른 type으로 변경하는 것을 말합니다. 2. 왜 필요 한가? C 나 C++ 변수의 type을 변경 해서 처리하는 경우가 비번 하게 발생합니다. 예를 들어 외부 library사용시 인자로 넘길 변수가 char인데 외부 library가 unsigned char를 사용할 경우 개발자는 char type을 unsigned char로 변경해서 넘겨주어야 Compile Error가 이 발생하지 않습니다 #include int PrintHello(unsigned char *str) { std::cout

ProgrammingLang/c++ 2019.11.15

[C++ 개발자되기] 8. binary file read 및 write

1. 목적 binary 및 text 파일을 읽기 및 쓰기 입니다. 파일 복사 및 암호화 파일 읽을때 유용합니다. 2. 필요 헤더 #include 2. 사용함수 1) Read 함수 (1) 함수 명 : ifstream (2) 핵심 옵션 : ifstream 핵심 옵션 std::ifstream::binary (3) 함수 선언 : explicit basic_ifstream( const char* filename, std::ios_base::openmode mode = ios_base::in ); (4) 참조 : https://en.cppreference.com/w/cpp/io/basic_ifstream 2) write 함수 (1) 함수 명 : ofstream (2) 핵심 옵션 : std::ios::out | st..

ProgrammingLang/c++ 2019.09.09

[C++ 개발자되기] 6. istringstream, ostringstream, stringstream 사용법

>>[C++ 관련 모든 글 보기] 1. istringstream과 ostringstream과 stringstream 은 무엇인가?? 문자열을 다룰 때 유용하게 사용 가능한 Class입니다. 1) istringstream - 문자열 포맷을 parsing 할 때 사용합니다. 2) ostringstream - 문자열 format을 조합하여 저장할 때 사용합니다. 3) sstringstream - 문자열에서 내가 원하는 자료형의 데이터를 추출할 때 사용합니다. 2. 헤더 정보 #include 를 include 하면 사용 가능합니다. 3. 기본 사용법 1) istringstream로 문자열 format을 분해 하기 - 다음 예제에서 space 또는 tap으로 구분된 "test 123 123hah ahha"를 각 ..

ProgrammingLang/c++ 2019.07.24

[C++ 개발자되기] 5. bind 사용법

>>[C++ 관련 모든 글 보기] 1. bind란 무엇인가?? 함수의 일부 매개 변수를 고정 값으로 세팅한 후, 한번 Wrapping 하여 사용할 수 있게 해주는 함수입니다. 2. 표준 시기 C++ 11에서 표준으로 채택 3. 사용 방법 bind를 할당하는 변수의 자료형에 따라 2가지 형태로 사용 가능 합니다 function 클래스를 사용하는 방법과 auto 키워드를 사용하는 방법 1) function Class를 사용(불편) std::function 변수명 = bind(함수명, 인자1, 인자 2,...); -> 함수명을 변수명에 연결시킵니다. 2) auito 키워드 사용(편리) auto 변수명 = bind(함수명, 인자 1, 인자 2,...); -> 함수명을 변수명에 연결시킵니다.. 물론 둘 다 사용 ..

ProgrammingLang/c++ 2019.07.23