在C中添加字符串之间的字符

所以基本上我正在尝试在字符串中间添加一个字符.通常在类似Python的东西中,这将非常简单,但我真的不确定如何在C中实现这一点.我想要实现的是这样的:

void converter(){
    converted = ":regional_indicator_" + character + ":";

}

所以基本上,我试图在字符串中添加char类型的变量字符.我应该将字符存储为字符串吗?

这里参考我的所有代码:

#include <iostream>

using namespace std;

string inputLine;
char character;
string converted;

void input(){
    cout << "Please input the text in which you would like to be converted" << endl;
    cin >> inputLine;
}


void converter(){
    converted = ":regional_indicator_" + character + ":";

}
int main(){
    input();
    for (int i = 0; i < inputLine.length(); i++ ){
        character = tolower(inputLine[i]);
    }
    return 0;
}
最佳答案
你可以这样做:

converted = ":regional_indicator_" + std::string(1, character) + ":";

这是有效的,因为将字符串文字(const char *)添加到字符串会产生一个字符串.但是添加const char *和char会导致指针运算.因此,通过从“character”构造一个std :: string,你最终得到一个const char * std :: string,产生一个字符串,然后std :: string const char *再次产生一个字符串作为最终结果.

转载注明原文:在C中添加字符串之间的字符 - 代码日志