Zahl formatieren mit sprintf

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
schlingel
Beiträge: 13
Registriert: 7. Oktober 2009 16:57

Zahl formatieren mit sprintf

Beitrag von schlingel »

Hallo,

ich (mit Qt Creator 1.2.1, Qt 4.5.3) möchte eine Zahl in der folgenden Weise formatieren:

2 - >000002
12 -> 000012.

Es sollen also Nullen vorne rangehängt werden. Das sollte mit sprintf gehen:

Code: Alles auswählen

quint32 num = 2;
QString str = " ";
str.sprintf('%6.0f', num);
Ich bekomme die Fehlermeldungen:
warning: character constant too long for its type
error: invalid conversion from `int' to `const char*'
error: initializing argument 1 of `QString& QString::sprintf(const char*, ...)'

Könnt Ihr mit bitte helfen.

Danke
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Re: Zahl formatieren mit sprintf

Beitrag von Curtis Newton »

schlingel hat geschrieben:Hallo,

Code: Alles auswählen

quint32 num = 2;
QString str = " ";
str.sprintf('%6.0f', num);
' ist was anderes als "

C.
schlingel
Beiträge: 13
Registriert: 7. Oktober 2009 16:57

Re: Zahl formatieren mit sprintf

Beitrag von schlingel »

Curtis Newton hat geschrieben:
schlingel hat geschrieben:Hallo,

Code: Alles auswählen

quint32 num = 2;
QString str = " ";
str.sprintf('%6.0f', num);
' ist was anderes als "

C.
Danke. Aber wo ist da genau der Unterschied? Ist das eine ein char und das anderen ein string?

Danke
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

Das eine ist eine Zeichenkonstante, das andere eine Zeichenketten-Konstante. Reicht bestimmt zum googeln ;-)

C.
B4chi
Beiträge: 13
Registriert: 14. April 2009 07:58

Beitrag von B4chi »

Hi,

wenn es nicht sprintf sein muss:

z.Bsp.:

Code: Alles auswählen

unsigned int val;
QString str;

val = 4;
str.append(QString("%1").arg(val, 6, 10, QChar('0')));
schlingel
Beiträge: 13
Registriert: 7. Oktober 2009 16:57

Beitrag von schlingel »

danke
Antworten