lekcja 28 problem z zadaniem
Ostatnio zmodyfikowano 2013-06-03 18:21
IaTeXik Temat założony przez niniejszego użytkownika |
lekcja 28 problem z zadaniem » 2013-06-03 16:33:06 #include <iostream> #include <string> using namespace std;
string konwertuj( string & tekst ) { string znak1 = " "; string znak2 = "<b>"; string znak3 = "</b>"; size_t pozycja1 = znak1.find( znak1 ); size_t pozycja2 = znak2.find( znak2 ); size_t pozycja3 = znak3.find( znak3 ); cout << "przed petla" << endl; int i = 0; do { cout << "pętla " << i << endl; if( pozycja1 != string::npos ) { tekst = tekst.erase( pozycja1, 1 ); pozycja1 = tekst.find( znak1, pozycja1 ); } if( pozycja2 != string::npos ) { tekst = tekst.erase( pozycja2, 3 ); tekst = tekst.insert( pozycja2, "[b]" ); pozycja2 = tekst.find( znak2, pozycja2 + znak2.size() ); cout << "po 2" << endl << tekst << endl; } if( pozycja3 != string::npos ) { tekst = tekst.erase( pozycja3, 4 ); tekst = tekst.insert( pozycja3, "[/b]" ); pozycja3 = tekst.find( znak3, pozycja3 + znak3.size() ); cout << "po 3" << endl << tekst << endl; } i++; } while(( pozycja1 != string::npos ) ||( pozycja2 != string::npos ) ||( pozycja3 != string::npos ) ); return tekst; } int main() { string tekst = "<b>to jest </b> testowy napis :)"; cout << konwertuj( tekst ) << endl; return 0; } A więc...Mój problem polega na tym ze w funkcji konwertuj podczas 2-if <b> zamieniam na [b],ale nie wiem dlaczego podczas 3-if [b] jest zamieniane na [/b]. koncowy wynik to: [/b] jest [/b] testowy napis :) Proszę o małą pomoc:) |
|
pekfos |
» 2013-06-03 17:58:11 size_t pozycja1 = znak1.find( znak1 ); size_t pozycja2 = znak2.find( znak2 ); size_t pozycja3 = znak3.find( znak3 ); Zwróć uwagę, gdzie i czego szukasz. |
|
IaTeXik Temat założony przez niniejszego użytkownika |
» 2013-06-03 18:21:38 dzięki wielkie,działa |
|
« 1 » |