将char转换为const char * String插入C ++

时间:2015-01-19 16:35:14

标签: c++ string insert

我遇到String Insertion的问题,因为我无法添加char,只是一个const char。我怎样才能轻松转换它?

编译器就这样接受:

b.insert(i,"a");

但我想这样:

b.insert(i,b[ii]);

完整代码:

#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>

using namespace std;

int main()
{
    string a,b;
    int aa=0;
    cin >> a;
    b=a;
    for(int i=0;i<a.length()+1;i++)
    {
        for(int ii=0;ii<a.length();ii++)
        {
            b.insert(i,a[ii]);
            if (b == string(b.rbegin(), b.rend()))
            {
                cout << b << endl;aa=1;
                break;
            }
            b.erase (b.begin()+i);
        }
        if(aa=1)break;
    }
    if(aa==0)
    cout << "NA" << endl;
    return 0;
}

2 个答案:

答案 0 :(得分:1)

请参阅std::string::insert的文档。采用单个char的版本也需要计数参数。

b.insert(i,1,b[ii]);

答案 1 :(得分:1)

您应该使用std::string::insert的以下重载:

basic_string& insert( size_type index, size_type count, CharT ch );

请参阅http://en.cppreference.com/w/cpp/string/basic_string/insert

相关问题