freopen▲ freopen은 stdio.h에 정의되어있다. 사진은 헤더를 빼먹었다.


UVa 등의 온라인저지 제출용 프로그램을 디버깅할 때 C, C++로 짠다면 freopen을 사용하면 편하다.


Defined in header <stdio.h>, <cstdio>

std::FILE *freopen(const char *filename, const char *mode, std::FILE *stream);

freopen은 어떤 스트림을 다른 파일로 대체할 때 사용하는 함수다. 알다시피 스트림도 결국 파일이기 때문에 열고 닫고 맘대로 할 수 있다. freopen은 file re-open의 줄임말이라 생각된다.

이 함수를 쓰면 더이상 프롬프트에서 한줄 한줄 칠 필요가 없고 파일로 input, output을 관리하면 된다.

사진처럼 사용하면 된다. 온라인저지 컴파일러 옵션을 보면 대부분 -DONLINE_JUDGE를 포함하기 때문에 ifndef로 검사해서 사용하면 편하다.


freopen을 사용하려면 C는 stdio.h, C++는 cstdio 헤더를 포함해야 한다.

반응형

'프로그래밍 > C++' 카테고리의 다른 글

bits/stdc++.h 파일 내용  (0) 2019.02.12
c++ 로또 번호 생성기 프로그래밍  (0) 2018.08.09
C++ std::string 숫자 여부 판별  (0) 2017.03.11
C++ std::set max element 찾는법  (0) 2017.01.18
C++ 랜덤 셔플  (0) 2016.11.20
C++ online judge에서 freopen 사용방법  (0) 2016.10.16