Zeichenkette suchen + ersetzen



  • Hallo,

    ich würde gerne eine Zeichenkette in einem Array suchen und dann gegen eine neue ersetzen.
    Für einzelne Zeichen habe ich das mit dem Programm unten gelöst, was müsste ich ändern, damit das auch für Zeichenketten funktioniert?

    #include <iostream>
    #include <string>
    using namespace std;
    int main ( )
    {
       string str = "12345acbderf"; 
      int test = str.length();  
      cout << str.length()<< endl;  
      int j = 0;
      int i = 0;
      char array [ test  ];
       for (i = 0; i < test; i++ )
       {      
          if ( str[i] != '\0' )
          {
             array [ j ] = str [ i ];        
             cout << "\n0000000000  " << array [ j ] << endl;          
             j++;
          }
    
    }
            system("pause"); 
    
      for (int x=0; x< test; x++)
        {
              if (str[x] == '1')
              {
                  array[x] = '9'; 
    
                cout << str[x] << "   "  << array[x] << endl;
    
                   for ( int i = 0; i < test; i++)
                   {
                       cout <<  array [ i ];
                   }
              }
        }
        cout << endl;
      system("Pause");
      return 0;
    }
    

    Viele Grüße


  • Mod

    Wenn du keine Motivation hast, einen eigenen Algorithmus zu entwickeln (das ist m.M.n. doch der eigentliche Spaß beim Programmieren!), dann schlage ich vor, gleich die Standardbibliothek zu benutzen. string bietet sowohl eine Methode find() als auch eine Methode replace(). Wenn du beide kombinierst, dann hast du das was du willst. Das Beispiel bei der Beschreibung von find() demonstriert wie das geht.


Anmelden zum Antworten