C ++ 기본 입력 / 출력

C ++ 표준 라이브러리는 다음 장에서 볼 수있는 광범위한 입력 / 출력 기능을 제공합니다. 이 장에서는 C ++ 프로그래밍에 필요한 매우 기본적이고 가장 일반적인 I / O 작업에 대해 설명합니다.

C ++ I / O는 바이트 시퀀스 인 스트림에서 발생합니다. 키보드, 디스크 드라이브 또는 네트워크 연결 등과 같은 장치에서 주 메모리로 바이트가 흐르면이를input operation 메인 메모리에서 디스플레이 화면, 프린터, 디스크 드라이브 또는 네트워크 연결 등과 같은 장치로 바이트가 흐를 경우이를 output operation.

I / O 라이브러리 헤더 파일

C ++ 프로그램에 중요한 다음 헤더 파일이 있습니다.

Sr. 아니요 헤더 파일 및 기능 및 설명
1

<iostream>

이 파일은 cin, cout, cerrclog 표준 입력 스트림, 표준 출력 스트림, 버퍼링되지 않은 표준 오류 스트림 및 버퍼링 된 표준 오류 스트림에 각각 해당하는 개체.

2

<iomanip>

이 파일은 다음과 같은 소위 매개 변수화 된 스트림 조작기로 형식화 된 I / O를 수행하는 데 유용한 서비스를 선언합니다. setwsetprecision.

<fstream>

이 파일은 사용자 제어 파일 처리를위한 서비스를 선언합니다. 이에 대해서는 파일 및 스트림 관련 장에서 자세히 설명합니다.

표준 출력 스트림 (cout)

미리 정의 된 개체 cout 의 인스턴스입니다 ostream수업. cout 개체는 일반적으로 디스플레이 화면 인 표준 출력 장치에 "연결"되었다고합니다. 그만큼cout 스트림 삽입 연산자와 함께 사용됩니다.이 연산자는 다음 예제에 표시된 것처럼 부호보다 두 개 작은 <<로 작성됩니다.

#include <iostream>
 
using namespace std;
 
int main() {
   char str[] = "Hello C++";
 
   cout << "Value of str is : " << str << endl;
}

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Value of str is : Hello C++

C ++ 컴파일러는 또한 출력 할 변수의 데이터 유형을 결정하고 값을 표시 할 적절한 스트림 삽입 연산자를 선택합니다. << 연산자는 내장형 정수, 부동 소수점, 이중, 문자열 및 포인터 값의 데이터 항목을 출력하도록 오버로드됩니다.

삽입 연산자 <<는 위에 표시된대로 단일 문에서 두 번 이상 사용할 수 있습니다. endl 줄 끝에 개행을 추가하는 데 사용됩니다.

표준 입력 스트림 (cin)

미리 정의 된 개체 cin 의 인스턴스입니다 istream수업. cin 개체는 일반적으로 키보드 인 표준 입력 장치에 연결되어 있다고합니다. 그만큼cin 스트림 추출 연산자와 함께 사용됩니다.이 연산자는 다음 예와 같이 두 개보다 큰 부호 인 >>로 작성됩니다.

#include <iostream>
 
using namespace std;
 
int main() {
   char name[50];
 
   cout << "Please enter your name: ";
   cin >> name;
   cout << "Your name is: " << name << endl;
 
}

위의 코드가 컴파일되고 실행되면 이름을 입력하라는 메시지가 표시됩니다. 값을 입력 한 다음 Enter 키를 누르면 다음 결과가 표시됩니다.

Please enter your name: cplusplus
Your name is: cplusplus

C ++ 컴파일러는 또한 입력 된 값의 데이터 유형을 결정하고 적절한 스트림 추출 연산자를 선택하여 값을 추출하고 주어진 변수에 저장합니다.

스트림 추출 연산자 >>는 단일 문에서 두 번 이상 사용할 수 있습니다. 하나 이상의 데이터를 요청하려면 다음을 사용할 수 있습니다.

cin >> name >> age;

이것은 다음 두 문장과 동일합니다.

cin >> name;
cin >> age;

표준 오류 스트림 (cerr)

미리 정의 된 개체 cerr 의 인스턴스입니다 ostream수업. cerr 객체는 디스플레이 화면이기도하지만 객체cerr 버퍼링되지 않으며 cerr에 대한 각 스트림 삽입으로 인해 출력이 즉시 표시됩니다.

그만큼 cerr 다음 예제와 같이 스트림 삽입 연산자와 함께 사용됩니다.

#include <iostream>
 
using namespace std;
 
int main() {
   char str[] = "Unable to read....";
 
   cerr << "Error message : " << str << endl;
}

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Error message : Unable to read....

표준 로그 스트림 (막힘)

미리 정의 된 개체 clog 의 인스턴스입니다 ostream수업. clog 개체는 디스플레이 화면이지만 개체는 표준 오류 장치에 연결되어 있다고합니다.clog버퍼링됩니다. 이는 막힘에 대한 각 삽입으로 인해 버퍼가 채워지거나 버퍼가 플러시 될 때까지 출력이 버퍼에 유지 될 수 있음을 의미합니다.

그만큼 clog 다음 예제와 같이 스트림 삽입 연산자와 함께 사용됩니다.

#include <iostream>
 
using namespace std;
 
int main() {
   char str[] = "Unable to read....";
 
   clog << "Error message : " << str << endl;
}

위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다.

Error message : Unable to read....

이 작은 예제에서는 cout, cerr 및 clog에서 어떤 차이도 볼 수 없지만 큰 프로그램을 작성하고 실행하는 동안 그 차이가 분명해집니다. 따라서 cerr 스트림을 사용하여 오류 메시지를 표시하고 다른 로그 메시지를 표시하는 동안 clog를 사용하는 것이 좋습니다.