[C++] 콘솔 입출력

chxxrin·2024년 7월 24일
0

C++

목록 보기
5/22

문자열 cin vs getline

cin, cout

    char user_input[100];

    cout << "원하는 문장을 입력해주세요." << endl;
    cout << "입력: ";

    cin >> user_input;

    cout << "메아리: " << user_input << endl;
  • cin은 데이터를 흘려넣어 보내는 스트림
  • 그 데이터를 해석하는 것은 자료형
  • 자료형에 따라서 알아서 처리해주기 때문에 cin이 scanf()보다 편리
  • cout은 띄어쓰기 전까지만 출력가능

ex)
cin : 콘솔 입출력
cout : 콘솔

getline

cin.getline(user_input, sizeof(user_input));
// cin.getline(받아올 문자 배열의 이름, 최대로 받아올 크기);
  • getline을 사용하면 띄어쓰기도 출력가능

ex)
getline : 콘솔 입출력
cout : 콘솔 입출력

정수 cin

    int number = -1;

    cin >> user_input;
    // cin.getline(user_input, sizeof(user_input));
    
    // cin.ignore(100, '\n');

    cin >> number;

    cout << user_input << " " << number << endl;

    // 참고: 원래는 cin.ignore 이렇게 써야함
    // cin.ignore(numeric_limits<streamsize>::max(),'\n')
  • getline은 항상 문자 배열에서만 사용가능함. 그래서 숫자는 사용못함!
  • cin.ignore(numeric_limits::max(),'\n') : 최대 100글자까지 입력 받고, 그 이후부터는 무시하겠다 또는 '\n'이 있으면 그때부터 무시하겠다

전체코드

/*
    홍정모 연구소 https://honglab.co.kr/
*/

#include <iostream>

using namespace std;

int main()
{
    // cin은 데이터를 흘려넣어 보내는 스트림이고
    // 그 데이터를 해석하는 것은 자료형
    // 자료형에 따라서 알아서 처리해주기 때문에 scanf()보다 편리

    char user_input[100];

    // cin과 getline의 차이

    cout << "원하는 문장을 입력해주세요." << endl;
    cout << "입력: ";

    cin >> user_input;

    // cin.getline(user_input, sizeof(user_input));
    // cin.getline(받아올 문자 배열의 이름, 최대로 받아올 크기);
    // 그래서 getline을 사용하면 띄어쓰기도 출력가능

    cout << "메아리: " << user_input << endl;
    // cout 은 띄어쓰기전까지만 출력가능

    int number = -1;

    cin >> user_input;
    cin.getline(user_input, sizeof(user_input));
    // getline은 항상 문자 배열에서만 사용가능함
    
    // cin.ignore(100, '\n');
    // 최대 100글자까지 입력 받고, 그 이후부터는 무시하겠다 또는 '\n'이 있으면 그때부터 무시하겠다

    cin >> number;

    cout << user_input << " " << number << endl;

    // 참고: 원래는 cin.ignore 이렇게 써야함
    // cin.ignore(numeric_limits<streamsize>::max(),'\n')

    return 0;
}

0개의 댓글

관련 채용 정보