Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozdzial[ 3 ] Modyfikowanie tekstu i sprawdzanie jego długości

Ostatnio zmodyfikowano 2018-06-01 22:23
Autor Wiadomość
Sevet
Temat założony przez niniejszego użytkownika
Rozdzial[ 3 ] Modyfikowanie tekstu i sprawdzanie jego długości
» 2018-06-01 21:29:10
Siema

C/C++
#include <iostream>
#include <string>
using namespace std;

void ocenzuruj( string & tkst )
{
    size_t gdzie = tkst.find( "kurwa" );
    if( gdzie == string::npos ) return;
   
    do {
        tkst.insert( gdzie, "xxxxx" );
        cout << tkst;
        gdzie = tkst.find( "kurwa", gdzie + 5 );
        cout << gdzie;
    } while( gdzie != string::npos );
   
}

int main()
{
    string tekst;
    getline( cin, tekst );
    ocenzuruj( tekst );
    cout << tekst;
}

Czemu nie działa?
Niby pentla jest nieskonczona.
P-171322
jankowalski25
» 2018-06-01 22:23:06
Nic dziwnego, skoro niczego nie usuwasz (insert() nie działa w trybie overwrite i nie nadpisuje tekstu, a skoro niczego nie usuwasz, to całość robi się coraz dłuższa).
P-171324
« 1 »
  Strona 1 z 1