String ersetzen Funktion



  • Hallo Leute,

    gibt es in C++ eine Funktion die in Chararrays bestimmte Zeichenfolgen durch andere ersetzt oder muss man die sich selberproggen? -> Codeschnipsel wäre nett
    Bei mir sollen alle Zeilenumbrüche entfernt werden...

    Ich hab schon in der MSDN gesucht, dort habe ich allerdings nicht gefunden.

    MFG, Rodney



  • ich wüsste net was daran schwer is...

    einfach in ner for-schleife das array durchlaufen und falls das aktuelle element \n ist, einfach durch n leerzeichen oder so ersetzen ...
    oder hab ich das falsch verstanden?



  • [edit]Kleiner Denkfehler[/edit]

    Nicht nur auf Carriage Return, sondern auch auf LineFeeds achten unter Win/Mac('\r').

    mfg



  • für sowas gibt es strings, da kannste die einzelnen zeichen ganz rauslöschen.



  • Jo, da gabs vor kurzem einen Beitrag zu:
    http://www.c-plusplus.net/forum/viewtopic.php?t=71496

    Vielleicht hilfts dir ja....



  • ok, darauf hätte ich ja auch kommen können 🙄

    Allerdings habe ich ein Prob beim überprüfen des Strings

    for (int j=0;j<100;j++) { // Zeilenumbrüche entfernen
    
    			if (Puffer[j] == "\n") Puffer[j] == "";
    			if (Puffer[j] == "\r") Puffer[j] == "";
    
    		}
    

    in einer Forschleife wird also jedes Zeichen nach \n durchsucht, er meldet aber immer

    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(182) : error C2446: '==' : Keine Konvertierung von 'char *' in 'int'
    Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(182) : error C2040: '==' : 'int' unterscheidet sich von 'char [2]' in bezug auf die Anzahl vorgenommener Dereferenzierungen
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(182) : error C2446: '==' : Keine Konvertierung von 'char *' in 'int'
    Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(182) : error C2040: '==' : 'int' unterscheidet sich von 'char [1]' in bezug auf die Anzahl vorgenommener Dereferenzierungen
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(182) : warning C4553: '==' : Operator hat keine Auswirkungen; ist '=' beabsichtigt?
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(183) : error C2446: '==' : Keine Konvertierung von 'char *' in 'int'
    Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(183) : error C2040: '==' : 'int' unterscheidet sich von 'char [2]' in bezug auf die Anzahl vorgenommener Dereferenzierungen
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(183) : error C2446: '==' : Keine Konvertierung von 'char *' in 'int'
    Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(183) : error C2040: '==' : 'int' unterscheidet sich von 'char [1]' in bezug auf die Anzahl vorgenommener Dereferenzierungen
    D:\Programmierung\Geproggtes\Vokabelprog\main.cpp(183) : warning C4553: '==' : Operator hat keine Auswirkungen; ist '=' beabsichtigt?

    Wie kann ich den ein einzelnes Zeichen sonst auf \n überprüfen? Bzw. welchen Wert hat \n und \n im Zeichensatz 😕 😕

    MFG; Rodney



  • Du solltest keine Zeichen mit char * vergleichen, schreib statt "" ''


Anmelden zum Antworten