ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 출력(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

    댓글

Designed by Tistory.