- 締切済み
置換をするプログラム
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; }
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- koko_u_u
- ベストアンサー率18% (216/1139)
std::replace(s.begin(), s.end(), '#', '%');