-
출력(C++ cout)기본(Basic) 2021. 1. 6. 12:08반응형
cout 스트림을 이용하여 출력하려면 다음과 같이 하면 된다.
int a = 123, b = 456; string x = "monkey"; cout << a << " " << x << "\n";
간혹 입력과 같이 출력이 프로그램의 병목이 될 때가 있다. 코드 시작 부터 다음과 같은 코드를 추가하면 입력과 출력을 좀 더 효율적으로 할 수 있다. (단 이코드를 사용했을 때는 scanf, pritnf와 같은 C 언어 함수를 C++ 입출력 함수와 동시에 사용할 수 없다.)
ios::sync_with_stdio(0) cin.tie(0);
개행 문자 "\n"이 endl보다 빠르다는 점에 유의하라. 이는 endl을 사용하면 명시적으로 플러시(flush, 출력 버퍼 비우기)가 일어나기 때문이다.
C++ 표준 스트림 대신에 C 언어 함수인 scanf, prinf를 사용할 수도 있다. 대체로 이 두 함수가 스트림보다 약간 더 빠르지만, 사용법이 좀 더 어렵기도 하다. 다음 코드는 두 개의 정수를 입력받는 코드이다.
int a, b; scanf("%d %d\n", a, b);
다음 코드는 두 개의 정수를 출력하는 코드이다.
int a = 123, b = 456; pritnf("%d %d\n", a, b);
때로는 입력 한 줄을 통째로, 공백을 포함한 채로 읽어 들이는 프로그램을 작성해야 한다. 그럴 때는 getline 함수를 사용하면 된다.
string s; getline(cin, s);
만일 데이터의 양을 사전에 알 수 없다면 다음과 같은 형태의 반복문을 활용하면 된다.
while(cin >> x) { // TODO : 코드 }
위 반복문은 입력에 포함된 원소를 하나하나씩 읽어 들이다가 더 이상 데이터가 남아 있지 않을 때 멈춘다.
몇몇 대회 시스템으ㄴ 입력과 추류력을 위해 파일을 사용하기도 한다. 이를 간단하게 처리하는 방법은 평소처럼 표준 스트림을 사용하는 코드를 작성한 후, 다음 두 줄을 코드의 시작 부분에 추가하는 것이다.
freopen("input.txt", stdin); freopen("output.txt", stout);
이 구문을 수행하고 나면 프로그램이 'input.txt' 파일에서 잏ㅂ력을 읽어 들이고, 'output'txt' 파일로 출력을 쓰게 된다.
반응형'기본(Basic)' 카테고리의 다른 글
순열 출력하기 (0) 2021.01.06 정수 - 수를 처리하는 방법 (0) 2021.01.06 정수 - 수를 처리하는 방법 (0) 2021.01.06 입력(C++ cin) (0) 2021.01.06 언어적 특성 (0) 2021.01.06