所以我试图将我从一个字符串中得到的字符插入到另一个字符串中。在这里我我的行动: 1. 我想用简单的:
someString.insert(somePosition, myChar);
2. 我收到一个错误,因为插入需要(在我的情况下)char* 或字符串
3. 我正在通过 stringstream 将 char 转换为 char*:
stringstream conversion;
char* myCharInsert;
conversion << myChar //That is actually someAnotherString.at(someOtherPosition) if that matters;
conversion >> myCharInsert;
someString.insert(somePosition, myCharInsert);
4. 一切似乎都编译成功了,但是程序崩溃了
conversion >> myCharInsert;
线。
5.我正在尝试用字符串替换 char*:
stringstream conversion;
char* myCharInsert;
conversion << myChar //That is actually someAnotherString.at(someOtherPosition) if that matters;
conversion >> myCharInsert;
someString.insert(somePosition, myCharInsert);
一切似乎都很好,但是当 someAnotherString.at(someOtherPosition)
变成空格时,程序崩溃了。
那么我该如何正确地做到这一点呢?
原文由 user380041 发布,翻译遵循 CC BY-SA 4.0 许可协议
有许多
std::string::insert
的重载。插入单个字符的重载实际上有三个参数:第二个参数
n
是插入c
到字符串中位置pos
的次数(即重复字符的次数。如果您只想插入一个字符实例,只需传递一个,例如,