Wie mache aus einstell. int (einfach) ein char?

Von: , Frage gestellt am Di, 9. Jan 2001

Gut, 48 auf den int-Wert zu addieren und das ganze dann als char aufzufassen funktioniert auf ASCII-Code-Maschinen, aber gibt es noch einen anderen Weg?

4 Antworten zu dieser Frage

  1. Antwort von nach 31 Minuten 1 hilfreich
    Re: Wie mache aus einstell. int (einfach) ein char

    Gut, 48 auf den int-Wert zu addieren und das ganze dann als
    char aufzufassen funktioniert auf ASCII-Code-Maschinen, aber
    gibt es noch einen anderen Weg?
    Mit Ascii-Werten direkt zu hantieren ist tatsächlich nicht die saubere Lösung. Du kannst aber davon ausgehen, dass 0-9 immer an einem Stück irgendwo in der Tabelle steht also addiere einfach den Wert der 0 (also das Charakterzeichen 0).

    int x = 0;
    char buchstabe = x + '0';

    • Antwort von nach 54 Minuten hilfreich
      Re^2: Wie mache aus einstell. int (einfach) ein ch

      Nur mal so aus Interesse: Wie schaut das mit Unicode aus?

      • Antwort von nach einer Stunde hilfreich
        Re^3: Wie mache aus einstell. int (einfach) ein ch

        Nur mal so aus Interesse: Wie schaut das mit Unicode aus?
        Kann ich dir leider nichts dazu sagen, weil nie was damit gemacht.
        Aber unicode ist eh irgendwie anders, das wird ja soviel ich weiss in 2 Bytes gespeichert ein Zeichen. Ich weiss nicht ob man dass einfach wie char/int explizit umwandeln kann. Hängt sicher von der Implementierung ab, im Standard-C gibt es soviel ich weiss keinen Unicode.

  2. Antwort von nach einer Stunde 1 hilfreich
    Re: Wie mache aus einstell. int (einfach) ein char

    Nimm einfach die Funktion sprintf. Sie arbeitet wie printf, also etwa printf("Die Zahl ist %d", zahl); nur nicht auf die Standardausgabe, sondern in einen String. Also genau das was Du suchst.

    gruss, Moriarty

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!