C:将字符串插入字符串

所以我试图将字符串从字符串中插入另一个字符串.
这里我的行为:
 我想用简单的:

someString.insert(somePosition, myChar);

2.我有一个错误,因为insert需要(在我的情况下)char *或string
我通过stringstream将char转换为char *:

stringstream conversion;
char* myCharInsert;
conversion << myChar //That is actually someAnotherString.at(someOtherPosition) if that matters;
conversion >> myCharInsert;
someString.insert(somePosition, myCharInsert);

一切似乎正在编译成功,但是程序崩溃了

conversion >> myCharInsert;

线.

我试图用字符串替换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)变为空格时,程序崩溃.

那么如何正确地做到这一点?

有一些std::string::insert的重载.插入一个字符的重载实际上有三个参数:

string& insert(size_type pos, size_type n, char c);

第二个参数n是将c插入到位置pos的字符串的次数(即,重复字符的次数),如果只想插入一个字符的一个实例,只需传递一个,例如,

someString.insert(somePosition, 1, myChar);
翻译自:https://stackoverflow.com/questions/3223302/c-insert-char-to-a-string

转载注明原文:C:将字符串插入字符串