▲ freopen은 stdio.h에 정의되어있다. 사진은 헤더를 빼먹었다.
UVa 등의 온라인저지 제출용 프로그램을 디버깅할 때 C, C++로 짠다면 freopen
을 사용하면 편하다.
- freopen 레퍼런스: http://en.cppreference.com/w/cpp/io/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 |