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, 😉


Anmelden zum Antworten