CString



  • Ich möchte Zahlen von 1 bis 1000 ausgeben. Dafür lasse ich einen
    Zähler laufen und gebe diesen als String aus. Jetzt möchte ich aber,
    dass nicht 1 sonder 0001 ausgeben wird. Kann ich einstellen, dass
    immer 4 Stellen ausgegeben werden?



  • %04d als Formatstring 🙂



  • Hallo,
    ich verwende dafür die Formatierung für CString Objekte an :

    man kann mit zusätzlichen Formatangaben Breite,Genauigkeut und Ausrichtung spezifizieren. %[FLAG][BREITE].GENAUIGKEIT]TYP

    FLAG - linksbündig(ansonsten rechtsbündig)
    + Vorzeichenanzeige (ansonsten nur Minuszeichen bei neg. Zahlen)
    0 füllt die Feldbreite mit Nullen auf
    BREITE gibt die Mindestzahl von Zeichen an, die das Feld anzeigen soll
    .GENAUIGKEIT bestimmt, wie viele Zeichen nach dem Dezimalpunkt stehen sollen

    Beispiel:

    CString strText;
    int i;
    strText.Format("%.4d",i);
    - ergibt eine 1 mit 3 vorangestellten Nullen.



  • MWerner schrieb:

    Beispiel:

    CString strText;
    int i;
    strText.Format("%.4d",i);
    - ergibt eine 1 mit 3 vorangestellten Nullen.

    Falsch: i wurde nicht zugeweisen, daher ist der inhalt undefiniert.

    <<schullehrer modus ein>>
    richtig wäre also:

    int i=1;
    

    <<schullehrer modus aus>>


Anmelden zum Antworten