목차
필요성
알고리즘 문제를 푸는데, 예제 입출력이 너무 적다. 어떠한 랜덤 값을 만들어서 넣고싶다. 그런데 이 값이 매우 많아서 일일히 치는 것이나 어디다가 저장해놓고 콘솔에 복붙하는 건 너무 간지가 안난다. 그래서 이 과정을 파일 입출력으로 바꿔서 해본다. 이럴 경우 랜덤으로 값을 뽑기도 쉽고 뭔가더 간지가 난다.
입력 (input.txt
)
5
10 40 30 50 10
10 200
출력 (output.txt
)
600
Code
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main(){
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
int a, b;
cin >> a >> b;
...
cout << ans;
}
#define _CRT_SECURE_NO_WARNINGS
scanf 대신 scanf_s를 사용하는 것은 어떠한 보안상의 문제 때문에 사용한다. 엄밀히 말하면 버퍼 때문인데, 이것은 다른 글을 참고하자. 이럴 때, 컴파일러는 오류를 내는데, 이런 오류를 무시하라는 명령이다.
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
- 파일 이름
- 쓰기, 읽기 모드
- 어떤 것으로 처리할 것인지
위와 같이 쓰면, 파일을 읽은 뒤에, 이것을 cin, cout으로 처리하여 읽도록 만들어 준다.