cin
개요cin
은 C++ 표준 라이브러리의 iostream
헤더 파일에 정의된 객체로, 표준 입력(stdin)으로부터 데이터를 읽는 데 사용됩니다. >>
연산자를 사용하여 데이터를 입력받을 수 있으며, 다양한 형식 지정자를 통해 입력 형식을 조정할 수 있습니다.
기능 | 설명 |
---|---|
>> 연산자 | 데이터를 입력받습니다. |
cin.setf() | 플래그를 설정하여 입력 형식을 지정합니다. |
cin.unsetf() | 설정된 플래그를 해제합니다. |
cin.fail() | 입력 실패 여부를 확인합니다. |
cin.clear() | 실패 플래그를 초기화합니다. |
cin.ignore() | 입력 버퍼에서 문자를 무시합니다. |
freopen() | 표준 입력을 파일로 리디렉션합니다. |
cin
함수 예제 코드#include <iostream>
#include <limits>
using namespace std;
int main()
{
{
// 정수 입력
int num;
cin >> num;
cout << num << endl;
}
{
// 입력이 성공했을 때만 출력
int num;
if (cin >> num)
cout << num << endl;
}
{
// 입력 실패 처리
int num;
cin >> num;
cout << num << endl;
// 입력이 실패했을 경우 초기화 시켜준다.
if (cin.fail())
cin.clear();
// 개행 문자가 나올 때까지 무시한다.
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cin >> num;
cout << num << endl;
}
{
// bool 입력을 1/0로 받기
bool b;
cin >> b;
cout << b << endl;
// bool 입력을 true/false로 받기
cin.setf(ios_base::boolalpha);
cin >> b;
cout << b << endl;
}
{
// 16진수로 입력 받기
int num;
cin.setf(ios_base::hex, ios_base::basefield);
cin >> num;
cout << num << endl;
cin >> hex >> num;
cout << num << endl;
}
{
// stdin 을 input.txt 파일로 리디렉션
freopen("input.txt", "r", stdin);
int num;
cin >> num;
cout << num << endl;
}
}
정수 입력:
int num;
cin >> num;
cout << num << endl;
>>
연산자를 사용하여 정수형 값을 입력받습니다.입력이 성공했을 때만 출력:
int num;
if (cin >> num)
cout << num << endl;
cin
은 true
를 반환합니다.입력 실패 처리:
int num;
cin >> num;
cout << num << endl;
if (cin.fail())
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cin >> num;
cout << num << endl;
fail()
함수가 true
를 반환하고, clear()
함수로 실패 상태를 초기화합니다.ignore()
함수를 사용하여 입력 버퍼에 남아있는 문자를 무시합니다.bool 입력:
bool b;
cin >> b;
cout << b << endl;
cin.setf(ios_base::boolalpha);
cin >> b;
cout << b << endl;
bool
입력은 1
또는 0
으로 받습니다.boolalpha
플래그를 설정하면 true
또는 false
로 입력받습니다.16진수 입력:
int num;
cin.setf(ios_base::hex, ios_base::basefield);
cin >> num;
cout << num << endl;
cin >> hex >> num;
cout << num << endl;
setf
함수를 사용하여 16진수 입력을 받을 수 있습니다.hex
조작자를 사용하여 16진수 입력을 받을 수 있습니다.표준 입력을 파일로 리디렉션:
freopen("input.txt", "r", stdin);
int num;
cin >> num;
cout << num << endl;
freopen
함수를 사용하여 표준 입력을 파일로 리디렉션할 수 있습니다.함수 | 설명 |
---|---|
cin >> variable | 표준 입력으로부터 데이터를 읽어옵니다. |
cin.setf(flag) | 입력 형식을 설정합니다. |
cin.unsetf(flag) | 설정된 입력 형식을 해제합니다. |
cin.fail() | 입력 실패 여부를 반환합니다. |
cin.clear() | 입력 실패 상태를 초기화합니다. |
cin.ignore() | 입력 버퍼에서 문자를 무시합니다. |
freopen(filename, mode, stream) | 표준 입력/출력을 파일로 리디렉션합니다. |