Prob bei Einlese
-
Hi Leutz!
Habe einen Code geschrieben der folgendermaßen aussieht:cout << "\nASCII DECODER Version 2.0 Copyright <c> 2003 by Jens Schneider\n\n"; cout << "Reading from " << argv[2] << "\n"; ifstream fin1(argv[2]); if (!fin1) { cout << "\nFile doesn't exist!\n"; goto end; } while (fin1.get(ch)) { cout << ch; } fin1.close(); cout << "\n\nFile in decimal:\n"; ifstream fin2(argv[2]); while (fin2.get(ch)) { if (ch=='%') { if (a!=0) { if (a==2) { asc = (letter[0]-'0')*10 + (letter[1]-'0'); cout << (char) asc; } if (a==3) { asc = (letter[0]-'0')*100 + (letter[1]-'0')*10 + (letter[2]-'0'); cout << (char) asc; } } a=0; } else { a++; if (a=1) { letter[0] = ch; } if (a=2) { letter[1] = ch; } if (a=3) { letter[2] = ch; } } } fin2.close();
Dieses Programm versucht eine einfache encodierung zu decodieren. Die encodierung sieht folgermaßen aus:
97%97%100%100
Die Zahlen sind ASCII-Zahlen. Und müssen wieder in zeichen umgewandelt werden.
Das Problem ist, glaube ich, das er falsch einliest. Dadurch klappt die decodierung natürlich nicht.
Weiß jemand einen Rat?PS.: Die Ausgabe sind irgendwelche ASCII Zeichen!
-
Hmm, also ich müsst mir mal den ganzen Quellcode ansehen, dann könnt ich dir vielleicht helfen. Schick mal an [url=mailto:duzmich@gmx.de">duzmich@gmx.de[/url]
-
Vielleicht würde es auch schon ausreichen, bei den letzten drei if-Anweisungen statt Zuweisungen Vergleiche zu verwenden,