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 eigentlichrotate 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