当试图在ostringstream中连接一个字符串时,这些字符串的内容会被修改和重构,字符串会在开始时被添加
When trying to concatenate a string in ostringstream, which string contents are modified and reconstructed, string get added at beginning
可能的重复:
ostringstream';s字符串构造函数?
我面临以下问题。我有一个奥斯特林斯特流说testStr。我首先使用<lt;
testStr << somechar;
然后我修改了:
testStr.Str("some string")
因此现在testStr包含"某个字符串">
现在我想在末尾添加一些字符(比如"answers"TEST"),这样它就可以变成"some String TEST"。
testStr << " " << "TEST";
但我得到了"TESTString"。请告诉我能做些什么?
添加示例代码:
#include <iostream>
#include <sstream>
int main() {
std::ostringstream s;
s << "Hello";
s.str("WorldIsBeautiful");
s << " " << "ENDS";
std::cout << s.str() << std::endl;
}
输出是"ENDIsBeautiful",正如我所期望的"WorldIsBeautifulENDS"。
我不太确定,但看起来它仍然设置为一开始就写。要解决此问题,可以调用s.seekp
(0, std::ios_base::end);
将输出位置指示器设置回末尾。我这里有一个工作样本:
#include <iostream>
#include <sstream>
int main() {
std::ostringstream s;
s.str( "Hello" );
s.seekp(0, std::ios_base::end);
s << "x" << "World";
std::cout << s.str() << std::endl;
}
输出:
HelloxWorld
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 迭代字符串集时没有可行的转换
- 在将字符串放入字符串向量时遇到问题?
- 在继承C++子项创建者开始时,是否可以不启动父创建者?
- 使用 const char* 初始化 const ref 字符串成员时幕后会发生什么
- 当正斜杠运算符应用于C++中的字符串类型时,它会做什么
- 多线程.如果我使用信号量,我可以在开始时创建很多线程还是应该只有几个线程?
- 构造字符串向量时是否有任何副本?
- 读取字符串字符时出错 - 对于数组中的字符串值
- 如何修复访问动态数组中结构中的字符串变量时"segmentation fault (core dumped)"错误
- 我在 c++ 中声明字符串类型时遇到问题
- 读取字符串字符时出错
- C++ 使用 Strtok 读取字符串字符时出错
- 构建大型无序集,并在开始时使用所有可用数据
- 在命名空间内的类中使用带有运算符重载的字符串流时"no match for ‘operator>>’"
- 在字符串开始时删除某些字符
- 在运行时开始时填充两个大向量
- c 字符串开始时ASCII值是什么
- 如何将SSCANF()设置为在字符串开始时忽略字符
- 当试图在ostringstream中连接一个字符串时,这些字符串的内容会被修改和重构,字符串会在开始时被添加