반응형

std::function (c++ 11)

#include <functional>

c++11 부터 지원됨

함수 포인터 변수 역할을 해줌

 

 

 

사용법

 

//function 객체 선언

std::function<함수리턴타입(인자타입)>  function객체식별자;  

 

function객체식별자 = std::bind(함수이름);

 

ex1)

 

 

위와 같은 방식으로 사용하면 되고

 

 

멤버 함수를 초기화 호출할떄는

 

//function 객체 선언

std::function<함수리턴타입(인자타입)>  function객체식별자;  

 

 

//초기화

function객체식별자 = std::bind(&클래스식별자::함수이름, 인스턴스);

 

function객체식별자(); //호출

 

ex2)

 

 

 

ex3) 또한 인자가 있는 경우 placeholder 있다

이때 반드시 인자 타입이 일치해야 한다

 

ex4) 인자와 리턴이 있는 멤버 함수

 

반응형

'C++' 카테고리의 다른 글

c++ Singleton Pattern 기본 구현 방법  (0) 2020.03.03
const  (0) 2020.02.29
Static Member Function(정적 멤버 함수)  (0) 2020.02.27
CopyConstructor, Shallow Copy, Deep Copy  (0) 2020.02.24
Input Output library  (0) 2020.02.21
반응형

Read File  (File-> 변수)

  • fread(ptr, size, count, file);

  •  fread_s(ptr, buffer_size, element_size, element_count, file);

스트림에서 count 개의 원소를 가지는 배열을 읽어온다, 원소의 크기는

size 바이트 이고 ptr 가리키는 배열에 넣게됨,

보안에 취약해서 fread_s 권장, bufferz_size 추가됨

 

 

 

 

 

  •   fscanf(file, "%d", &iNum);

  •   fscanf_s(file, "%d", &iNum, sizeof(iNum))

스트림(file)에서 형식문자열로 데이터를 읽고 메모리 공간에 저장

 

 

 

 

 

  •   fgets(strBuffer, length, file);

스트림(file)에서 문자열을 (length -1) 개의 문자을 입력 받을 까지

또는 개행문자나 파일 (EOF) 도달할 까지 입력 받아서 strBuffer 출력(저장)

 

 

 

Write File (변수 -> File)

  • fprintf(file, "%d \n", i);

  • fprintf_s(file, "%d \n", i);

스트림(file) format specifier 사용하여 printf 처럼 파일에 출력함(파일에 저장)

text 파일을 저장할 때 쓰임

 printf : 화면에 출력, fprintf : 파일에 출력, sprintf : 변수(버퍼) 출력

 

 

 

 

 

  • fwrite(ptr, sizeof(i), count, file);

ptr 저장된 데이터를 sizeof(i) * count 만큼 읽어서 스트림(file) 출력함(저장)

바이너리 파일을 저장할 쓰임

 

 

 

 

 

 

  • fputs(strBuffer, file);

strBuffer 가리키는 문자열을 NULL (문자('\0') 도달할 까지 스트림(file) 출력(저장) 한다, NULL문자는 제외됨

반응형

'C' 카테고리의 다른 글

memset, memcpy, memmove  (0) 2020.03.13
expression(표현식)  (0) 2020.03.12
Local Variable, Global Variable, Static Variable  (0) 2020.02.28
fseek, ftell, 파일 크기 알아내기  (0) 2020.02.25
반응형

std::ios_base

  • stream input output 형식 관련 데이터를 처리함(정수형을 출력시 10진수로 할지 16진수로 할지 등을 처리
  • 모든 입출력 클래스는 ios_base base 클래스로 두고있음

 

 

 

std::ios

  • stream buffer 초기화
  • 입출력 작업의 상태를 처리(파일의 끝에 도달했는지를 있음, eof() 함수

 

std::istream, std::ostream

  • ios_base, ios 입출력 작업 상태, 데이터 처리를 했다면
  • istream, ostream 각각 실제로 입력 출력을 수행함
  • cin istream 클래스의 instance 이다, 연산자 >> 오버로딩이 되어있고 모든타입에 되어 있어서, 입력 가능
  • 그러나, cin(istream) 은 공백문자를 무시하고, \n 기준으로 입력을 그만받음
  •  
  • cout 또한 ostream 클래스의 instance 이며, 연산자 << 오버로딩이 되어있고
  • 모든타입에 되어 있어서, 모든타입이 출력 가능함
  • http://www.cplusplus.com/reference/ostream/ostream/operator%3C%3C/

 

std::ifstream

  • istream 상속 받음
  • filebuf 객체를 내부 스트림 버퍼로 사용
  • 연결된 파일에 istream에서 상속받은 입력 함수들을 있음
  • input 가능한 filebuf 객체 (input filebuf stream)

 

std::ofstream

  • ostream 상속 받음
  • filebuf 객체를 내부 스트림 버퍼로 사용
  • 연결된 파일에 ostream에서 상속받은 출력 함수들을 있음
  • output 가능한 filebuf 객체 (output filebuf stream)

 

std::iostream

  • istream, ostream 상속 받음 (입력,출력 둘다 가능)

 

std::fstream

  • iostream 상속 받음(입력, 출력 둘다 가능)
  • filebuf 객체를 내부 스트림 버퍼로 사용
  • 연결된 파일에 iostream에서 상속받은 입력 출력 함수들을 있음
반응형

'C++' 카테고리의 다른 글

c++ Singleton Pattern 기본 구현 방법  (0) 2020.03.03
const  (0) 2020.02.29
Static Member Function(정적 멤버 함수)  (0) 2020.02.27
CopyConstructor, Shallow Copy, Deep Copy  (0) 2020.02.24
std::function (c++ 11)  (0) 2020.02.23

+ Recent posts