Hi.. brauche mal hilfe von den Profis ;) CString in Ascii und dann noch eine ....



  • Hi ..erstmal bin ja auch ganz neu 😉

    Also ich habs so in den Threads nicht verstanden und ich brauche mal dringend folgendes...

    Ich hab ein CString...

    CString build = "z9cdk03e43lk2ömi290l60fhtow73fdr";

    Also 32 stellen lang und ich will den im Asciicode . Wie zum teufel geht denn dass recht einfach im c++ ?

    Wäre wirklich super nett wenn mir dass einer erklären oder besser zeigen könnte 😉

    Tribu



  • Hallo
    Mit folgendem Code kannst du deinen cstring als ASCII-CODE bewundern 🙂

    #include <iostream>
    using namespace std;
    
    int main()
    {
            char cstring[31] = "bcdefg838hijkldlpqow1234567890\0";
    
            for(int i = 0; i < 30; i++)
            {
                    cout << (int) cstring[i] << " ";
            } 
    
            return 0;
    }
    

    Erklärung:
    Ich konvertiere den char-Vektor nach int und gebe ihn aus.

    Hoffe ich konnte dir helfen.

    Caipi



  • joa das hilft ungemein 😉

    ich wollte den String aber schon in einer Funktion benutzen und dache ich kann Ihn
    einfach konvertieren ....

    Also

    int MeinASCII atoi(meinCString);

    aber so einfach wolltes es nicht gehen ....

    gehts noch simpler ?

    Aber trotzdem vielen Dank. ich rätsel schon seit Stunden. eben noob 😕



  • @Caipi: Ich denke tribu2 mein die Klasse CString aus der MFC und keinen C-String.

    Falls es sich wirklich um einen CString handeln sollte, kannst du den einfach per
    const char* data_char = (LPCTSTR) data; in einen char* umwandeln und dann in einer Schleife ausgeben oder einfach per GetAt(n) direkt auf das n-te Zeichen zugreifen.

    Einen CString kannst du z.B. so übergeben:
    int atoi(const CString& cs);



  • tja hui ich drücke mich doof aus weil ich es noch garnicht besser weiss 😉 *g

    Also ich hab nen Md5 checksum den ich einfach im Ascii noch verändern will deshalb

    ich suchte nach einer Möglichkeit wie

    CString test =....

    uint32 Test = CString(Test);

    aber war wohl zu einfach gedacht mit atoi .... mmh. ein return will ich garnicht 😉

    das hier ....int atoi(const CString& cs); hatte ich schon versucht aber ich bekam nur 1-2 Zahlen zurück kann wohl nicht gepasst haben 😢



  • tribu2 schrieb:

    mmh. ein return will ich garnicht 😉

    Keine Ahnung was du meinst. Du wolltest doch unbedingt eine Funktion?

    das hier ....int atoi(const CString& cs); hatte ich schon versucht aber ich bekam nur 1-2 Zahlen zurück kann wohl nicht gepasst haben 😢

    Dann stimmt deine Funktion nicht.



  • puhh ..man ich suche mich bald tot 😢 eigentlich brauche ich sowas nie...

    kann mal jemand so nett sein und mir dass an einem Bsp schreiben ? Wäre echt nett.

    Cstring Test ="12345";

    ich brauche also nen uint8,16,32 oder int....

    ich verzweifel an dem MIsst.
    Ich weiss das es eigentlich einfach sein sollte aber ich blcike hier nichts 😢



  • Hier hast du ne Funktion, die dir zu jedem Zeichen eines CStrings den ASCII-Code ausgibt:

    // ...
    CString s = "AAB1";
    cstring2i(s);
    // ...
    int cstring2i(const CString& xy) {
       for(int i=0; i < xy.GetLength(); i++)
          cout << static_cast<int>(xy.GetAt(i)) << " ";
       return 0;
    }
    

    Daraus die Zahl als int zu bilden sollte jetzt ja nicht mehr so schwer sein(musst nur beachten, an welcher Stelle der Buchstabe steht und entsprechen Wert * 10^i berechnen)
    PS: Das gehört ins MFC-Forum 🙂



  • vielen dank...

    damit werde ich jetzt solange zubringen bis es geht 😉

    Danke hehe MFC 😉



  • interpreter schrieb:

    @Caipi: Ich denke tribu2 mein die Klasse CString aus der MFC und keinen C-String.

    Sorry, habe gedacht, er meint einen C-String. Weil er in diesem Forum seine Frage gepostet hat.

    Caipi


Anmelden zum Antworten