スタックオーバーフローとWebで検索していて、私の質問に対する答えが見つからないようです。文字列の一部をダブルC++に置き換える方法
は、変数
例で、文字列の一部を置き換えるにはどうすればよい:私は、変数と、この文字列の末尾に「#N」「数」を交換したいです。
最初の試行:
string firstline= "will find the answer in Chapter #N.";
firstline.replace(firstline.begin(),firstline,end(),"#N",number);
置き換える機能を使用して、変数としてそれらを渡すことはできませんが判明しました。
第二の試み:
私は別の文字列と文字列の一部を変更ユーチューブチュートリアルを発見しました。
第3パラメータを2倍にするためにいくつかの変更を加えましたが、それでもどこでも取得できません。
私に正しい答えを得るための助けがあれば幸いです。
EDIT: @snehaは、しかし、私が正常に変更することはできませんよ、私はその提案を行なったし、私のコードは、今コンパイルできto_stringに()
を使用して文字列に変数を変更する提案をしました文字列。出力は
std::to_string(c1)
はその後で文字列を置換文字列に"will find the answer in Chapter #N."
int main()
{
double number =20;
char str[] = "will find the answer in Chapter #N."
cout<< replace_all(str, "we", to_string(number));
return 0;
}
string replace_all(string str, const string &from, const string &to)
{
int pos=0;
int flen= from.length();
int tlen = to.length();
while((pos= str.find(from,pos)) != -1)
{
str.replace(pos,flen,to);
pos += tlen;
}
return str;
}
コードに '#N 'が1つありますか?それは文字列の位置が固定されていますか? – abdullah
これは2段階のプロセスです。数字を文字列に変換し、文字列の置換を行います。 –
number変数をdoubleからstringに変換し、replace関数を使用します。 – kishore