iostream 헤더 파일의 기능은 무엇입니까

青灯夜游
풀어 주다: 2023-01-03 09:31:18
원래의
26912명이 탐색했습니다.

iostream 헤더 파일에는 스트림에서 파일 읽기와 같은 입력 및 출력 스트림을 작동하는 방법이 포함되어 있으며, 이 기능은 초보자가 편리한 명령줄 입력 및 출력 테스트 환경을 가질 수 있도록 하는 것입니다. iostream은 확장 가능한 유형 안전 IO 메커니즘을 제공하도록 설계되었습니다.

iostream 헤더 파일의 기능은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, C++17 버전, Dell G3 컴퓨터.

C++ 언어는 입력과 출력을 직접 처리하지 않고 표준 라이브러리에 정의된 일련의 유형을 통해 IO를 처리합니다. 이러한 유형은 장치에서 데이터를 읽고 쓰는 IO 작업을 지원합니다. 장치는 파일, 콘솔 창 등이 될 수 있습니다. 메모리 IO, 즉 문자열에서 데이터를 읽고 문자열에 데이터를 쓰는 유형도 있습니다.

C++/C++11의 헤더 파일 은 표준 입출력 스트림 객체를 정의합니다. 에는 , , , 도 자동으로 포함됩니다.

헤더 파일 의 객체에는 다음이 포함됩니다:

(1), 좁은 문자(문자): cin(표준 입력 스트림(객체)), cout(표준 출력 스트림(객체)), cerr( 표준 출력 스트림 오류(객체)), clog(로깅을 위한 표준 출력 스트림(객체))

(2), 와이드 문자(wchar_t), 즉 와이드 문자: wcin(표준 입력 스트림(와이드)(객체)), wcout(표준 출력 스트림(와이드)(객체)), wcerr(오류에 대한 표준 출력 스트림(와이드)(객체)), wclog(로깅에 대한 표준 출력 스트림(와이드)(객체)).

__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 istream cin, *_Ptr_cin;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cout, *_Ptr_cout;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cerr, *_Ptr_cerr;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream clog, *_Ptr_clog;

__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wistream wcin, *_Ptr_wcin;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wcout, *_Ptr_wcout;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wcerr, *_Ptr_wcerr;
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wclog, *_Ptr_wclog;
로그인 후 복사

C++ IO 헤드, 템플릿 및 클래스( https://www.ntu.edu.sg/home/ehchua/programming/cpp/cp10_IO.html ):

IO 라이브러리:

(1), istream(입력 스트림) 유형, 입력 작업 제공

(2), ostream(출력 스트림) 유형, 출력 작업 제공

(3), cin, istream 개체, 표준 입력 스트림, 표준 입력에서 읽는 데 사용됨 데이터를 가져옵니다.

(4), 표준 출력 스트림인 cout은 표준 출력에서 ​​데이터를 쓰고, 출력은 지정된 파일로 리디렉션(“>” 또는 “1>”)될 수 있습니다. 데이터는 일반적으로 프로그램의 일반 출력에 사용되는 표준 출력에 기록됩니다.

(5), cerr, ostream 개체, 표준 오류 스트림은 일반적으로 프로그램 오류 정보 또는 일반 논리에 속하지 않는 기타 출력 콘텐츠를 출력하는 데 사용되며 기본적으로 표준 오류에 기록됩니다. ; 오류 정보는 표시되기 전에 버퍼나 새 줄 바꿈을 기다리지 않고 디스플레이로 직접 전송될 수 있습니다. 출력은 일반적으로 오류 정보 또는 기타 출력 내용을 출력하는 데 사용됩니다. 이는 프로그램의 정상적인 논리에 속하지 않습니다.

(6), clog: 표준 오류와 관련된 ostream 개체, 표준 오류 스트림; cerr과의 차이점: cerr과 clog는 모두 표준 오류 스트림입니다. 차이점은 cerr이 버퍼를 통과하지 않고 디스플레이에 직접 정보를 출력한다는 것입니다. , clog의 정보는 기본적으로 버퍼에 저장되며, 버퍼가 가득 차거나 endl이 발생하는 경우에만 출력됩니다. 기본적으로 clog에 기록된 데이터는 버퍼링됩니다. Clog는 일반적으로 프로그램 실행 정보를 보고하고 이를 로그 파일에 저장하는 데 사용됩니다.

(7), >> istream 객체에서 입력 데이터를 읽는 데 사용되는 연산자

(8), << ostream 객체에 출력 데이터를 쓰는 데 사용되는 연산자; getline 함수는 주어진 istream에서 데이터 라인을 읽고 이를 주어진 문자열 객체에 저장합니다.

IO 라이브러리 유형 및 헤더 파일: 아래와 같이 iostream은 스트림 읽기 및 쓰기를 위한 기본 유형을 정의하고, fstream은 명명된 파일을 읽고 쓰기 위한 유형을 정의하며, sstream은 메모리 문자열 객체를 읽고 쓰기 위한 유형을 정의합니다.

와이드 문자를 사용하는 언어를 지원하기 위해 표준 라이브러리는 wchar_t 유형의 데이터를 조작하는 유형 및 객체 세트를 정의합니다. 유형 및 함수의 와이드 문자 버전 이름은 w로 시작합니다. 예를 들어, wcin, wcout 및 wcerr은 각각 cin, cout 및 cerr의 와이드 문자 버전입니다. 유형 및 객체의 와이드 문자 버전은 해당 일반 문자 버전과 동일한 헤더 파일에 정의됩니다.

테스트 코드는 다음과 같습니다:

#include "iostream.hpp"
#include <iostream>

// reference: http://www.tutorialspoint.com/cplusplus/cpp_basic_input_output.htm
int test_iostream_cout()
{
	char str[] = "Hello C++";
	std::cout << "Value of str is : " << str << std::endl;

	return 0;
}

int test_iostream_cin()
{
	char name[50];

	std::cout << "Please enter your name: ";
	std::cin >> name;
	std::cout << "Your name is: " << name << std::endl;

	return 0;
}

int test_iostream_clog()
{
	char str[] = "Unable to read....";
	std::clog << "Error message : " << str << std::endl;

	return 0;
}

int test_iostream_cerr()
{
	char str[] = "Unable to read....";
	std::cerr << "Error message : " << str << std::endl;

	return 0;
}

// reference: https://msdn.microsoft.com/en-us/library/6xwbdak2(v=vs.80).aspx
static void TestWide()
{
	int i = 0;
	std::wcout << L"Enter a number: ";
	std::wcin >> i;
	std::wcerr << L"test for wcerr" << std::endl;
	std::wclog << L"test for wclog" << std::endl;
}

int test_iostream_w()
{
	int i = 0;
	std::cout << "Enter a number: ";
	std::cin >> i;
	std::cerr << "test for cerr" << std::endl;
	std::clog << "test for clog" << std::endl;

	TestWide();

	return 0;
}
로그인 후 복사

관련 권장 사항:

C++ 비디오 튜토리얼

위 내용은 iostream 헤더 파일의 기능은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿