21 c++ string insert stringstream
所以我试图将从字符串中获取的字符插入另一个字符串.在这里,我的行动:1.我想使用简单:
someString.insert(somePosition, myChar);
Run Code Online (Sandbox Code Playgroud)
2.我收到错误,因为insert需要(在我的情况下)char*或string
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);
Run Code Online (Sandbox Code Playgroud)
一切似乎都在成功编译,但程序崩溃了
conversion >> myCharInsert;
Run Code Online (Sandbox Code Playgroud)
线.
5.我正在尝试用字符串替换char*:
stringstream conversion;
char* myCharInsert;
conversion << myChar //That is actually someAnotherString.at(someOtherPosition) if that matters;
conversion >> myCharInsert;
someString.insert(somePosition, myCharInsert);
Run Code Online (Sandbox Code Playgroud)
一切似乎都没问题,但是当它someAnotherString.at(someOtherPosition)
变成空间时,程序会崩溃.
那么我该怎么做呢?
Jam*_*lis 36
有许多重载std::string::insert
.插入单个字符的重载实际上有三个参数:
string& insert(size_type pos, size_type n, char c);
Run Code Online (Sandbox Code Playgroud)
第二个参数,n
是c
在位置插入字符串pos
的次数(即重复字符的次数.如果您只想插入一个字符实例,只需将其传递一个,例如,
someString.insert(somePosition, 1, myChar);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
64474 次 |
最近记录: |