std::istrstream:: istrstream
From cppreference.net
<
cpp
|
io
|
istrstream
|
explicit
istrstream
(
const
char
*
s
)
;
|
(1) |
(C++98에서 사용 중단됨)
(C++26에서 제거됨) |
|
explicit
istrstream
(
char
*
s
)
;
|
(2) |
(C++98에서 사용 중단됨)
(C++26에서 제거됨) |
|
istrstream
(
const
char
*
s,
std::
streamsize
n
)
;
|
(3) |
(C++98에서 사용 중단됨)
(C++26에서 제거됨) |
|
istrstream
(
char
*
s,
std::
streamsize
n
)
;
|
(4) |
(C++98에서 사용 중단됨)
(C++26에서 제거됨) |
새로운 std::istrstream 와 그 기반이 되는 std::strstreambuf 를 생성합니다.
1,2)
기본
std::strstreambuf
를
strstreambuf
(
s,
0
)
를 호출하여 구성하고, 기본 클래스를
strstreambuf
의 주소로 초기화합니다.
s
가 널 종료 배열의 요소를 가리키지 않는 경우 동작은 정의되지 않습니다.
3,4)
기본
std::strstreambuf
를
strstreambuf
(
s, n
)
호출로 생성하고, 기본 클래스를
strstreambuf
의 주소로 초기화합니다.
s
가 최소
n
개의 요소를 가진 배열의 요소를 가리키지 않는 경우 동작은 정의되지 않습니다.
매개변수
| s | - | 스트림의 내용으로 사용할 C-string 또는 char 배열 |
| n | - | 배열의 크기 |
예제
이 코드 실행
#include <iostream> #include <strstream> int main() { std::istrstream s1("1 2 3"); // 문자열 리터럴 int n1, n2, n3; if (s1 >> n1 >> n2 >> n3) std::cout << n1 << ", " << n2 << ", " << n3 << '\n'; char arr[] = {'4', ' ', '5', ' ', '6'}; std::istrstream s2(arr, sizeof arr); if (s2 >> n1 >> n2 >> n3) std::cout << n1 << ", " << n2 << ", " << n3 << '\n'; }
출력:
1, 2, 3 4, 5, 6
참고 항목
strstreambuf
객체를 생성합니다
(
std::strstreambuf
의 public 멤버 함수)
|
|
ostrstream
객체를 생성합니다 (선택적으로 버퍼 할당)
(
std::ostrstream
의 public 멤버 함수)
|
|
strstream
객체를 생성합니다 (선택적으로 버퍼 할당)
(
std::strstream
의 public 멤버 함수)
|