visual C++で入力された文字列に対し、#があったら%に置換するプログラムを作っています。insertを使おうと思うのですが、よくわかりません
ずっと考えているのですが、ここから1週間進んでいません
教えてください

#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;

int main(void) {

string a,s;

cout <<"文字列を入力してください"<<endl;
getline(cin,s);

int i,j=0;

while( j!= s.npos) {
i=s.find_first_of("#",j);

if(i==s.npos){

cout << s.substr(j) << endl;
break;
}
if( i>0) {

cout << s.substr(j, i-j);
j=i;

}

i=s.find_first_not_of("#",j);

if( i== s.npos) {
a=s.substr(j);
j=i;
}
else{
a=s.substr(j,i-j);
j=i;
}

for(i=0; i<s.length(); i++) {
if (s[i]== "#"){
s.insert(i,"%");
}
cout<<a.s[i]<<endl;
}
}
return 0;
}

このQ&Aに関連する最新のQ&A

A 回答 (1件)

std::replace(s.begin(), s.end(), '#', '%');

    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング