problem mit string und rotate ()



  • hallo!

    habe probleme mit meinem programm, an dem ich derzeit arbeite..

    ich habe eine funktion:

    string quelle;
        quelle = erfrage_string(1);
        int code;
        cin>>code;
        ifstream input;
        input.open(quelle.c_str(), ios_base::in);
        string ziel;
        ziel = erfrage_string(0);
        ofstream output(ziel.c_str());
        int number;
        string bin;
        string bin2;
        char x;
        x= input.get();
        while (!input.eof()) {
              number = wandle_in_nummern(x);
              cout<<number<<endl;
              bin = Dez_Bin(number);
              cout<<bin[0]<<bin[1]<<bin[2]<<bin[3]<<bin[4]<<bin[5]<<endl;
              bin = turn_string(2, bin);
              cout<<bin[0]<<bin[1]<<bin[2]<<bin[3]<<bin[4]<<bin[5]<<endl;
              x = input.get();
              }
        cin.get();
        cin.get();
    

    (ich weiß, ist nicht gut, aber es ist nur zum testen, ich schreibe das ganze nochmal wenn die einzelnen funktionen richtige arbeiten)

    die funktion turn_string ist mein problem. ( wandle_in_nummern macht einen char zu einem int mithilfe eines zeichensatzes ( für die, die das wissen müssn 😛 ))

    sie sieht so aus:

    string turn_string (int value, string src) {
           rotate (src.begin(), src.begin()+value, src.end());
           return src;
           }
    

    die ausgabe ist aber:

    ...
    1
    000001
    000001 <<-- da müsste jetzt öhm.. 010000 stehn denk ich eigentlich

    rotate scheint hier nichts zu machen 😕

    da hok



  • außerdem:

    wenn ich das ganze mit minus mache (also :

    rotate (s.begin(), s.begin() - 1, s.end());
    

    beispielsweise, funzt des auch ned 😕 😕

    EDIT: hierauf nich antworten...
    es muss ja dann so aussehn:

    rotate (s.begin(), s.end() - 1, s.end());
    

    --.--



  • schön wie viele mir helfen wollen 😞



  • Hallo,

    Funktioniert bei mir problemlos (CB mit MinGW). Welchen Compiler hast du denn? Doch hoffentlich keinen VC6?



  • ich benutze Dev- cpp von bloodshed

    version 4.9.9.2

    mh, des is aber komisch, hier dreht er die strings nich o_O


Anmelden zum Antworten