Jes*_*son 14 c++ ostringstream
在MSVC 2005上,我有以下代码.
std::ostringstream stream("initial string ");
stream << 5;
std::cout << stream.str();
Run Code Online (Sandbox Code Playgroud)
我的期望是:
initial string 5
Run Code Online (Sandbox Code Playgroud)
我得到的是:
5nitial string
Run Code Online (Sandbox Code Playgroud)
使用字符串初始化流,我希望流将其位置移动到初始字符串的末尾.显然,STL不同意我的观点(不是第一次).
这种行为的目的是什么?这个用例对任何事情都有用吗?还有,有办法将流位置推进到初始字符串的末尾吗?
Jer*_*fin 19
使用ostringstream和提供初始值就像打开现有文件进行写入一样.您有一些数据,除非另有说明,否则您的初始位置将位于数据的开头.您可以在数据中查找,或者指定ios::ate最初将写指针定位到现有数据的末尾,或者您可以指定ios::app始终将写指针定位到现有数据的末尾.
Ara*_*raK 15
您可以指定构造函数的第二个(可选)参数,以在末尾设置流游标:
std::ostringstream stream("initial string ", std::ios::ate);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3201 次 |
| 最近记录: |