我遇到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;
}
答案 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