Namespaces
Variants

std::basic_ostream<CharT,Traits>:: write

From cppreference.net
basic_ostream & write ( const char_type * s, std:: streamsize count ) ;

UnformattedOutputFunction 으로 동작합니다. sentry 객체를 구성하고 검사한 후, s 가 가리키는 첫 번째 요소부터 시작하는 문자 배열의 연속된 위치에서 문자를 출력합니다. 다음 중 하나가 발생할 때까지 문자가 출력 시퀀스에 삽입됩니다:

  • 정확히 count 개의 문자가 삽입됨
  • 출력 시퀀스에 삽입이 실패하는 경우 (이 경우 setstate ( badbit ) 이 호출됨).

목차

매개변수

s - 기록할 문자 문자열에 대한 포인터
count - 기록할 문자 수

반환값

* this

예외

failure if an error occurred (the error state flag is not goodbit ) and exceptions() is set to throw for that state.

내부 연산에서 예외가 발생하면, 해당 예외는 포착되고 badbit 이 설정됩니다. 만약 exceptions() badbit 에 대해 설정되어 있다면, 예외가 재발생됩니다.

참고 사항

이 함수는 포맷된 operator<< 와 달리 signed char 또는 unsigned char 타입에 대해 오버로드되지 않습니다.

또한, 형식화된 출력 함수들과 달리 이 함수는 실패 시 failbit 을 설정하지 않습니다.

비변환 로케일(기본 로케일은 비변환입니다)을 사용할 때, std::basic_ofstream 에서 이 함수를 재정의하는 경우 std::streambuf::xsputn 을 재정의하는 방식으로 제로-카피 벌크 I/O에 최적화될 수 있습니다.

예제

이 함수는 객체 표현을 출력하는 데 사용될 수 있습니다, 즉 이진 출력을 의미합니다.

#include <iostream>
int main()
{
    int n = 0x41424344;
    std::cout.write(reinterpret_cast<char*>(&n), sizeof n) << '\n';
    char c[] = "This is sample text.";
    std::cout.write(c, 4).write("!\n", 2);
}

가능한 출력:

DCBA
This!

참고 항목

문자 데이터를 삽입하거나 rvalue 스트림에 삽입
(함수 템플릿)
문자 하나를 삽입
(public 멤버 함수)