replace/ersetzen mit string:*:replace(char*, char*)



  • Hallo,
    irgendwie hab ich da nen kleines Problem, der Comp. sagt mir immer das ich einen Syntaxfehler hab?!?

    Der Befehl müsste meiner Meinung nach so aussehen:

    string:stringname:replace('char', 'char');
    

    also z.B.

    #include <iostream>
    #include <conio.h>
    #include <string>
    
    using namespace std;
    
    string test;
    
    int main(void)
    {
    cin>>test;
    string:test:replace('a', 'A');
    cout<<test;
    }
    

    Ich hoffe ihr könnt mir sagen was falsch ist, über die Suche hab ich nix gefunden...

    MfG
    Chris



  • string:test:replace('a', 'A');

    was soll das sein? so eine konstruktion ist mir in c++ bisher noch nie untergekommen 😉

    wenn, dann ginge es so:

    test.replace('a','A');
    

    wie gesagt,WENN, string unterstützt solche ersetzungsmethoden aber nicht.
    du musst dir schon was eigenes schreiben, zb sowas:

    for(string::iterator i=test.begin();i!=test.end();++i){
        if(*i=='a'){
            *i='A';
        }
    }
    

    gibt bestimmt schönere techniken, aber das soll für diese uhrzeit reichen 🙂



  • Versuchs mal so:
    [cpp]#include <string>
    #include <algorithm>
    #include <iostream>
    using namespace std;

    int main(int argc, char* argv[])
    {
    string test("abcd");
    cout << test << endl;
    replace(test.begin(), test.end(), 'b', 'x');
    cout << test << endl;
    return 0;
    }[/cpp]

    mfg JJ


Anmelden zum Antworten