Verschlüsselung was mache ich falsch



  • Hallo,
    was ist an diesem Code falsch?

    void __fastcall TForm1::endecrypt(char *instr, char *outstr, int isize)
    {
       int i;
       for(i = 0; i < isize; i++)
       {
          outstr[i] = instr[i] ^ i;
       }
       outstr[isize] = NULL;
    }
    // in Button Click
    AnsiString test;
    test = "Hallo du";
    char *in = new char[sizeof(test) + 1];
    char *out = new char[sizeof(test) + 1];
    
    strcpy(in , test.c_str());
    endecrypt(in, out, sizeof(in));
    
    Label1->Caption = out;
    
    delete [] in;
    delete [] out;
    

    Also, dieser Code spuckt mir immer nur 4 Stellen aus, was kann daran falsch sein???

    Gruß



  • Schon mal geprüft, was sizeof zurückgibt? Und nachgelesen, was die Funktion genau macht?



  • Hallo,
    statt sizeof habe ich jetzt test.length() genommen und jetzt geht es, Danke!.

    Gruß


Anmelden zum Antworten