Namespaces
Variants

std:: ostrstream

From cppreference.net
< cpp ‎ | io
헤더 파일에 정의됨 <strstream>
class ostrstream : public std:: ostream
(C++98에서 사용 중단됨)
(C++26에서 제거됨)

ostrstream 클래스는 배열 기반 스트림에 대한 출력 연산을 구현합니다. 이는 기본적으로 원시 배열 I/O 장치 구현( std::strstreambuf )을 상위 수준 인터페이스인 std::basic_ostream 으로 래핑합니다.

ostrstream 의 일반적인 구현은 단 하나의 비파생 데이터 멤버만을 보유합니다: std::strstreambuf 타입의 객체입니다.

목차

참고 사항

str() 호출 후에는, freeze(false) 호출이 필요하며, 이를 통해 소멸자가 필요에 따라 버퍼를 할당 해제할 수 있습니다.

str() 호출 전에, 결과를 C-string으로 사용하는 경우 버퍼는 반드시 null-terminated되어야 하며, 일반적으로 std::ends 를 사용하여 처리합니다.

ostrstream 는 C++98부터 사용이 중단되었으며 C++26부터 제거되었습니다. std::ostringstream , std::ospanstream (C++23 이후) , 그리고 boost::iostreams::array_sink 가 권장되는 대체제입니다.

멤버 함수

ostrstream 객체를 생성하며, 선택적으로 버퍼를 할당함
(public member function)
[virtual]
ostrstream 객체를 소멸하며, 선택적으로 버퍼를 해제함
(virtual public member function)
연결된 strstreambuf 에 대한 포인터를 얻음
(public member function)
출력 버퍼에 접근함
(public member function)
자동 재할당을 비활성화/활성화함
(public member function)
기록된 문자 수를 얻음
(public member function)

std:: basic_ostream 로부터 상속됨

멤버 함수

형식화된 출력
형식화된 데이터를 삽입함
( std::basic_ostream<CharT,Traits> 의 public 멤버 함수)
비형식화된 출력
문자를 삽입함
( std::basic_ostream<CharT,Traits> 의 public 멤버 함수)
문자 블록을 삽입함
( std::basic_ostream<CharT,Traits> 의 public 멤버 함수)
위치 지정
출력 위치 표시자를 반환함
( std::basic_ostream<CharT,Traits> 의 public 멤버 함수)
출력 위치 표시자를 설정함
( std::basic_ostream<CharT,Traits> 의 public 멤버 함수)
기타
기본 저장 장치와 동기화함
( std::basic_ostream<CharT,Traits> 의 public 멤버 함수)

멤버 클래스

출력 연산을 위한 스트림 준비 기본 로직을 구현함
( std::basic_ostream<CharT,Traits> 의 public 멤버 클래스)

std:: basic_ios 로부터 상속됨

멤버 타입

멤버 타입 정의
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

멤버 함수

상태 함수
오류가 발생하지 않았는지 확인 (즉, I/O 작업이 가능한 상태)
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
파일 끝에 도달했는지 확인
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
오류가 발생했는지 확인
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
복구 불가능한 오류가 발생했는지 확인
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
오류가 발생했는지 확인 ( fail() 의 동의어)
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
오류가 발생하지 않았는지 확인 ( ! fail() 의 동의어)
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
상태 플래그를 반환
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
상태 플래그를 설정
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
상태 플래그를 수정
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
서식 지정
서식 정보를 복사
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
채움 문자를 관리
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
기타
예외 마스크를 관리
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
로케일을 설정
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
연결된 스트림 버퍼를 관리
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
연결된 스트림을 관리
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
문자를 축소
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
문자를 확장
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)

std:: ios_base 에서 상속됨

멤버 함수

서식 지정
형식 플래그 관리
( std::ios_base 의 public 멤버 함수)
특정 형식 플래그 설정
( std::ios_base 의 public 멤버 함수)
특정 형식 플래그 지움
( std::ios_base 의 public 멤버 함수)
부동 소수점 연산의 소수점 정밀도 관리
( std::ios_base 의 public 멤버 함수)
필드 너비 관리
( std::ios_base 의 public 멤버 함수)
로캘
로캘 설정
( std::ios_base 의 public 멤버 함수)
현재 로캘 반환
( std::ios_base 의 public 멤버 함수)
내부 확장 가능 배열
[static]
pword() iword() 의 인덱스로 사용하기에 안전한 프로그램 전체에서 유일한 정수 반환
( std::ios_base 의 public static 멤버 함수)
필요한 경우 개인 저장소 크기 조정 및 주어진 인덱스의 long 요소 접근
( std::ios_base 의 public 멤버 함수)
필요한 경우 개인 저장소 크기 조정 및 주어진 인덱스의 void * 요소 접근
( std::ios_base 의 public 멤버 함수)
기타
이벤트 콜백 함수 등록
( std::ios_base 의 public 멤버 함수)
C++과 C I/O 라이브러리의 상호 운용성 설정
( std::ios_base 의 public static 멤버 함수)
멤버 클래스
스트림 예외
( std::ios_base 의 public 멤버 클래스)
표준 스트림 객체 초기화
( std::ios_base 의 public 멤버 클래스)

멤버 타입 및 상수

유형 설명
스트림 열기 모드 타입

다음 상수들도 정의되어 있습니다:

상수 설명
app 각 쓰기 작업 전에 스트림의 끝으로 이동
binary 바이너리 모드 로 열기
in 읽기용으로 열기
out 쓰기용으로 열기
trunc 열 때 스트림의 내용을 버림
ate 열자마자 스트림의 끝으로 이동
noreplace (C++23) 배타적 모드로 열기

(typedef)
서식 지정 플래그 타입

다음 상수들도 정의되어 있습니다:

상수 설명
dec 정수 입출력에 10진수 기반 사용: 참조 std::dec
oct 정수 입출력에 8진수 기반 사용: 참조 std::oct
hex 정수 입출력에 16진수 기반 사용: 참조 std::hex
basefield dec | oct | hex . 마스킹 연산에 유용함
left 왼쪽 정렬 (오른쪽에 채움 문자 추가): 참조 std::left
right 오른쪽 정렬 (왼쪽에 채움 문자 추가): 참조 std::right
internal 내부 정렬 (내부 지정 지점에 채움 문자 추가): 참조 std::internal
adjustfield left | right | internal . 마스킹 연산에 유용함
scientific 과학적 표기법을 사용하여 부동 소수점 타입 생성, 또는 fixed 와 결합 시 16진수 표기법 사용: 참조 std::scientific
fixed 고정 소수점 표기법을 사용하여 부동 소수점 타입 생성, 또는 scientific 와 결합 시 16진수 표기법 사용: 참조 std::fixed
floatfield scientific | fixed . 마스킹 연산에 유용함
boolalpha 영숫자 형식으로 bool 타입 삽입 및 추출: 참조 std::boolalpha
showbase 정수 출력을 위한 숫자 기반 접두사 생성, 통화 입출력에서 통화 표시자 요구: 참조 std::showbase
showpoint 부동 소수점 숫자 출력에서 무조건 소수점 문자 생성: 참조 std::showpoint
showpos 음수가 아닌 숫자 출력에 + 문자 생성: 참조 std::showpos
skipws 특정 입력 연산 전에 선행 공백 건너뜀: 참조 std::skipws
unitbuf 각 출력 연산 후 출력 플러시: 참조 std::unitbuf
uppercase 특정 출력 연산에서 일부 소문자를 대문자로 대체: 참조 std::uppercase

(typedef)
스트림 상태 타입

다음 상수들도 정의됩니다:

상수 설명
goodbit 오류 없음
badbit 복구 불가능한 스트림 오류
failbit 입출력 연산 실패 (형식화 또는 추출 오류)
eofbit 관련 입력 시퀀스가 파일 끝에 도달함

(typedef)
탐색 방향 타입

다음 상수들도 정의되어 있습니다:

상수 설명
beg 스트림의 시작
end 스트림의 끝
cur 스트림 위치 표시자의 현재 위치

(typedef)
이벤트 타입 지정
(enum)
콜백 함수 타입
(typedef)