Text in Integer ?



  • Hallo

    Ich suche eine Funktion die mir einen String (z.B. "Hallo Welt") in eine Dezimalzahl umwandelt, bzw die einzelnen Buchstaben. Die Buchstaben rausfiltern ist ja kein Problem, aber halt umwandeln ind Int....

    Ich hab gedacht das " atoi() " das kann, aber da wandelt ja nur ascii-Zahlen in Integer um. Kann mir da einer weiterhelfen?

    Danke



  • falls es dir um die ASCII-codes der zeichen geht:

    char c = 'a';
    int i = (int) c;
    //i ist nun 65, der ascii-code von a.
    

    enjoy!
    -me



  • ja klar....warum bin ich da selber nicht drauf gekommen !!!!

    Danke...ist wohl noch zu früh für mich 😉



  • ja ok....klappt doch nicht so wie gewollt.

    Mein Problem jetzt ist, dass ich meinen CString nicht umwandeln bekomme.

    z.B. das "W" aus "Hallo Welt":

    Ich gebe einen String in ein feld ein mit var. m_string.

    Dann hol ich mir die Variable und lese einzeln in ner schleife die Chars aus:

    CString s;
    char c;
    
    size = sizeof(m_string);
    
    for(int x = 0; x < size; x++)
    {
     s = m_string.Mid(x,1); //hole mir den char x
     c == s;
    
    int i = (int) c;
    
    return i; // ich mach was anderes damit, aber damit man weiß, dass ich das brauche
    }
    

    So ungefähr ist mein code aufgebaut. Nun bekomme ich fehlermeldungen, wel da was mit dem char nicht klappt und die Ausgage von c ergibt nicht den wert von meine Stringteil sondern IMMER -54 'I' (so ähnlich).

    IOch bin da etwas ratlos.



  • Versuch es mal mit GetAt statt Mid. 😉



  • Hey mann danke...
    Bin schon verzweifelt, weil das Forum off war und ich da nicht weiterkam.
    Jetzt klappts auch so wie ich will und es muss !!!

    CYA



  • das == ist uncool direkt s mit atoi() bzw. ihr wisst ja was ich mein



  • ja is mir schon klar, aber ein einfaches "=" hatte er nicht genommen...
    Aber jetzt hab ich ja die richtige funktion.



  • ja is mir schon klar, aber ein einfaches "=" hatte er nicht genommen...

    Und wenn er "==" nicht genommen hätte, hättest du dann auch alle anderen Operatoren durchprobiert? Was wenn "c + s" oder "c << s" gegangen wäre, hättest du dann auch erwartet dass das eine Zuweisung macht?



  • @ Plotzenhotz:

    Wie wäre es, wenn du einen anderen dumm von der seite Anlaberst. Das Problem hat sich erledigt und ich weiß, dass das nicht richtig war.

    Schade dass das Forum für alle offen ist....


Anmelden zum Antworten