반응형

 

🚀

이번 포스팅은 freopen() 함수 사용으로 입력(혹은 출력)을 간편하게 처리하는 방법에 대해 알아보도록 하겠습니다.

 

백준 문제 풀 때 입력값 넣는 방법

  1. 예제 입력 복사 후 콘솔 창에 붙여 넣기 하여 입력
  2. 파일로부터 입력값 불러오기

 

이전까지는 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);" 부분을 주석 처리하거나 삭제하여 제출!

 

 

 

반응형

+ Recent posts