std::basic_istringstream<CharT,Traits,Allocator>:: str
| (1) | ||
|
std::
basic_string
<
CharT, Traits, Allocator
>
str
(
)
const
;
|
(C++20 前) | |
|
std::
basic_string
<
CharT, Traits, Allocator
>
str
(
)
const
&
;
|
(C++20 起) | |
|
template
<
class
SAlloc
>
std:: basic_string < CharT, Traits, SAlloc > str ( const SAlloc & a ) const ; |
(2) | (C++20 起) |
|
std::
basic_string
<
CharT, Traits, Allocator
>
str
(
)
&&
;
|
(3) | (C++20 起) |
|
void
str
(
const
std::
basic_string
<
CharT, Traits, Allocator
>
&
s
)
;
|
(4) | |
|
template
<
class
SAlloc
>
void str ( const std:: basic_string < CharT, Traits, SAlloc > & s ) ; |
(5) | (C++20 起) |
|
void
str
(
std::
basic_string
<
CharT, Traits, Allocator
>
&&
s
)
;
|
(6) | (C++20 起) |
|
template
<
class
StringViewLike
>
void str ( const StringViewLike & t ) ; |
(7) | (C++26 起) |
管理底层字符串对象的内容。
目录 |
参数
| s | - | 底层字符串的新内容 |
| t | - | 用作底层字符串新内容的对象(可转换为 std::basic_string_view ) |
| a | - | 用于构造返回字符串的分配器 |
返回值
注释
由
str
返回的底层字符串副本是一个临时对象,将在表达式结束时被析构,因此直接在
str
(
)
的结果上调用
c_str()
(例如在
auto
*
ptr
=
out.
str
(
)
.
c_str
(
)
;
中)会导致悬垂指针。
| 功能测试 宏 | 值 | 标准 | 功能特性 |
|---|---|---|---|
__cpp_lib_sstream_from_string_view
|
202306L
|
(C++26) | std::stringstream 与 std::string_view 的交互操作 ( 7 ) |
示例
#include <iostream> #include <sstream> int main() { int n; std::istringstream in; // 也可使用 in("1 2") in.str("1 2"); in >> n; std::cout << "从 \"1 2\" 读取第一个整数后,该整数为 " << n << ", str() = \"" << in.str() << "\"\n"; std::ostringstream out("1 2"); out << 3; std::cout << "向输出流 \"1 2\" 写入整数 '3' 后" << ", str() = \"" << out.str() << "\"\n"; std::ostringstream ate("1 2", std::ios_base::ate); ate << 3; std::cout << "向追加流 \"1 2\" 写入整数 '3' 后" << ", str() = \"" << ate.str() << "\"\n"; }
输出:
从 "1 2" 读取第一个整数后,该整数为 1, str() = "1 2" 向输出流 "1 2" 写入整数 '3' 后, str() = "3 2" 向追加流 "1 2" 写入整数 '3' 后, str() = "1 23"
另请参阅
|
返回底层原始字符串设备对象
(公开成员函数) |
|
|
替换或获取关联字符串的副本
(
std::basic_stringbuf<CharT,Traits,Allocator>
的公开成员函数)
|