산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 기본 입출력:Cout, Cin, Cerr 예제

C++의 스트림이란 무엇입니까?

C++는 사용자에게 입력/출력 작업을 수행하는 데 사용할 수 있는 여러 라이브러리를 제공합니다. 이러한 작업은 일반적으로 스트림이라고 하는 바이트 시퀀스 형태로 수행됩니다.

스트림은 두 가지로 나뉩니다.

스트림 유형

이 C++ 자습서에서는 다음을 배우게 됩니다.

스트림은 어떻게 작동하나요?

C++ 스트림은 다음과 같이 작동합니다.

  1. 먼저 스트림이 올바른 유형으로 초기화됩니다.
  2. 다음으로 get/put 포인터를 사용하여 I/O가 발생할 위치를 지정해야 합니다.
  3. 스트림의 올바른 위치에 도달한 후>> 및 <<연산자를 각각 사용하여 입력 및 출력 작업을 수행할 수 있습니다.

함수표

다음은 stream.h 헤더 파일에서 제공하는 기능입니다.

클래스 함수 FilebufIt은 파일 버퍼를 읽기/쓰기로 설정합니다. itfstreambase에 close() 및 open() 함수가 있습니다. 이는 ifstream, fstream 및 ofstream 클래스의 기본 클래스입니다. 그 작업은 파일 streams에 공통입니다.ifstream입력 작업을 제공하기 위한 입력 파일 스트림 클래스입니다.ofstream출력 작업을 제공하기 위한 출력 파일 스트림 클래스입니다.fstream입/출력 스트림 클래스입니다. 동시 입출력 작업을 지원합니다.

입력/출력용 C++ 헤더 파일

C++는 기본 입력/출력 작업을 수행하기 위한 함수와 함께 제공되는 세 가지 라이브러리를 제공합니다. 여기에는 다음이 포함됩니다.

cin 및 cout 키워드는 C++에서 매우 인기가 있습니다. 각각 입력을 받고 출력을 출력하는 데 사용됩니다. 이를 사용하려면 프로그램에 iostream 헤더 파일을 포함해야 합니다. 그 이유는 해당 헤더 파일에 정의되어 있기 때문입니다. iostream 헤더 파일을 포함하지 않으면 오류가 발생합니다. 이는 C++ 컴파일러가 키워드의 의미를 이해하지 못하기 때문에 발생합니다.

iostream 헤더 파일에 정의된 주요 객체는 cin, cout, cerr 및 clog입니다. 논의해 봅시다.

std::cout

cout 객체는 iostream 클래스의 인스턴스입니다. 일반적으로 화면인 표준 출력 장치에서 출력을 생성하는 데 사용됩니다. 스트림 삽입 연산자(<<)와 함께 사용됩니다.

예:

#include <iostream>
using namespace std;
int main() {

	char welcome[] = "Welcome to Guru99";

	cout << welcome << endl;

	return 0;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. cout 객체가 정의된 iostream 헤더 파일을 포함합니다.
  2. 클래스를 사용할 때 호출할 필요가 없도록 std 네임스페이스를 포함합니다.
  3. main() 함수를 호출합니다. 프로그램 코드는 본문 내에 추가되어야 합니다. 여는 중괄호 {는 본문의 시작을 나타냅니다.
  4. Welcome to Guru99 문자열을 저장할 welcome이라는 문자 변수를 만듭니다.
  5. 콘솔에 welcome 문자열의 값을 출력합니다. endl은 끝줄을 의미하는 C++ 키워드입니다. 커서를 이동하여 다음 줄에 텍스트 인쇄를 시작합니다.
  6. 프로그램은 성공적으로 실행되면 값을 반환해야 합니다.
  7. main() 함수 본문의 끝입니다.

std::cin

cin 객체는 istream 클래스의 인스턴스입니다. 입력 장치인 키보드에서 입력을 읽습니다. 일반적으로 추출 연산자(>>)와 함께 사용됩니다. 추출 객체는 cin 객체에서 키보드를 통해 입력된 데이터를 추출하는 역할을 합니다.

예:

다음 예는 C++에서 cin 키워드를 사용하는 방법을 보여줍니다.

#include <iostream>
using namespace std;
int main()
{
	int number;

	cout << "Enter a number:";
	cin >> number;
	cout << "\nYou entered: " << number;

	return 0;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. iostream 헤더 파일을 프로그램에 포함합니다. cin 객체는 이 헤더 파일에 정의되어 있습니다.
  2. 클래스를 사용할 std 네임스페이스를 포함합니다. 해당 클래스를 사용할 때 std를 호출할 필요가 없습니다.
  3. main() 함수를 호출합니다. 프로그램 코드는 본문 내에 추가되어야 합니다.
  4. 프로그램 본문의 시작입니다.
  5. 숫자라는 이름의 정수 변수를 선언합니다.
  6. 사용자에게 숫자를 입력하라는 메시지를 화면에 인쇄합니다.
  7. 키보드에서 콘솔에 사용자가 입력한 값을 읽습니다.
  8. 위에서 읽은 값을 다른 텍스트와 함께 콘솔에 인쇄합니다.
  9. 프로그램이 성공적으로 실행되면 값을 반환해야 합니다.
  10. 메인 함수 본문의 끝입니다.

std::cerr

cerr 개체는 C++에서 오류를 출력하기 위한 표준 오류 스트림을 형성합니다. Serr은 ostream 클래스의 인스턴스입니다. cerr 개체가 버퍼링되지 않습니다. 즉, 오류 메시지를 즉시 표시해야 할 때 사용됩니다.

버퍼링되지 않았기 때문에 나중에 표시할 수 있도록 오류 메시지를 저장하지 않습니다. 스트림 삽입 연산자(<<)와 함께 사용됩니다.

예:

#include <iostream>
using namespace std;
int main() {

	cerr << "An Error occurred!";

	return 0;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. cerr 객체가 정의된 iostream 헤더 파일을 포함합니다.
  2. 클래스를 사용할 때 호출할 필요가 없도록 std 네임스페이스를 포함합니다.
  3. main() 함수를 호출합니다. 프로그램 로직은 본문 내에 추가되어야 합니다. 여는 중괄호는 함수 본문의 시작을 표시합니다.
  4. cerr 개체를 사용하여 콘솔에 오류를 인쇄합니다.
  5. 프로그램은 성공적으로 실행되면 값을 반환해야 합니다.
  6. 메인 함수 본문의 끝입니다.

std::clog

clog 개체는 ostream 클래스의 인스턴스입니다. 표준 디스플레이인 모니터에 오류를 표시하는 데 사용됩니다. cerr 객체와 유사하지만 버퍼링됩니다. 버퍼링되어 있기 때문에 버퍼가 채워지거나 플러시될 때까지 버퍼에 오류 메시지를 저장합니다. 스트림 삽입 연산자(<<)와 함께 사용됩니다.

예:

#include <iostream>
using namespace std;
int main() {
	clog << "An Error occurred!";
	return 0;
}

출력:

다음은 코드의 스크린샷입니다.

코드 설명:

  1. clog 객체가 정의된 iostream 헤더 파일을 포함합니다.
  2. 호출 없이 클래스를 사용할 수 있도록 std 네임스페이스를 포함합니다.
  3. main() 함수를 호출합니다. 프로그램 로직은 본문 내에 추가되어야 합니다. {는 함수 본문의 시작을 표시합니다.
  4. clog 개체를 사용하여 표준 출력인 모니터에 오류를 인쇄합니다.
  5. 프로그램은 성공적으로 완료되면 값을 반환해야 합니다.
  6. main() 함수 본문의 끝입니다.

IO 스트림 오류 처리:

스트림이 유효한지 여부를 확인하려면 부울로 사용할 수 있습니다.

다음은 예입니다:

ifstream file( "myfile.txt" );
if ( ! file )
{
        cout << "File NOT opened!" << endl;
}

스트림 상태에 대한 자세한 내용을 보려면 다음 기능을 사용할 수 있습니다.

특정 읽기/쓰기 작업이 실패했는지 여부를 확인하려면 읽기 결과를 테스트합니다.

예를 들어, 사용자가 유효한 정수를 입력했는지 확인하려면 다음을 수행하십시오.

int p;
if ( cin >> p ) 
{
        cout << "Enter valid number" << endl;
}

요약


C 언어

  1. C# 기본 입력 및 출력
  2. C++ 기본 입출력
  3. C 입력 출력(I/O)
  4. Java 기본 입력 및 출력
  5. EXAMPLE이 있는 C++ Switch Case 문
  6. C++ 예외 처리:시도, 캐치, 던지기 예제
  7. 예제를 사용한 C++ 배열 동적 할당
  8. 예제가 있는 C++ 구조체
  9. D 래치
  10. C - 입력 및 출력