💻IT
[BOJ] 백준 C++로 알고리즘 문제 풀 때 input 파일로 입력받기 - freopen()함수
Cocoon_
2022. 1. 29. 17:54
반응형
🚀
이번 포스팅은 freopen() 함수 사용으로 입력(혹은 출력)을 간편하게 처리하는 방법에 대해 알아보도록 하겠습니다.
백준 문제 풀 때 입력값 넣는 방법
- 예제 입력 복사 후 콘솔 창에 붙여 넣기 하여 입력
- 파일로부터 입력값 불러오기
이전까지는 1번 방법으로 알고리즘 문제를 풀다가 매번 복사 후 붙여 넣고 테스트하고 코드 수정하고 하는 방식이 좀 비효율적인 것 같아서 input.txt를 만들고 그 안에 입력값을 저장해놓고 바로 실행 - 코드 수정 -바로 실행하는 것을 한번 해봤습니다.
📋 코드
input.txt 파일을 입력값(stdin)으로 read 하기
freopen("input.txt", "r", stdin);
output.txt 파일에 출력 결과(stdout)를 write 하기
freopen("output.txt", "w", stdout);
(freopen의 매개변수 중 "r"은 read의 약자, "w"는 write의 약자입니다.)
1. 실행시킬 cpp 파일과 같은 디렉터리에 input.txt 파일을 만든다.
2. input 텍스트 파일에 입력값 저장
3. 코드 실행하면서 입력값 확인
#include <iostream>
using namespace std;
int N, M;
int arr[5];
int main()
{
freopen("input.txt", "r", stdin);
cin >> N;
for (int i = 1; i <= N; i++)
{
cin >> arr[i];
}
for (int i = 1; i <= N; i++)
{
cout << arr[i] << '\n';
}
}
4. 백준에 제출할 때는 "freopen("input.txt", "r", stdin);" 부분을 주석 처리하거나 삭제하여 제출!
반응형