% Zeichen in printf
-
Hi,
ich bin neu hier und ein ziemlicher Newbie in C.
Folgendes Problem:
kleines c-Programm unter Linux.
Ich möchte innerhalb eines printf das Zeichen % ausgeben,printf(" Batterielast ok, Last: %.1f% ", loadvalue);
Ein escapen mit \% brachte leider nichts.
Ausgabe sollte "Batterielast ok, Last: 77%" sein.
Wie stell ich das an?thx vicodas
-
% dient in printf() dazu, die Formatkennungen einzuleiten, das hat nichts (direkt) mit Escape-Sequenzen zu tun. Um das Prozentzeichen auszugeben, mußt du es mit einem weiteren % maskieren:
printf(" Batterielast ok, Last: %.1f%%", loadvalue);
-
such dir das zeichen aus einer ascii tabelle (zeichen 25)
so jetz ist es einfach
printf(" Batterielast ok, Last: %.1f%%c", loadvalue,25);
durch %c wird ein character symbol beschrieben und:
printf("%c",25);
würde nur ein % zeichen ausgeben
-
oggs_the_progger schrieb:
such dir das zeichen aus einer ascii tabelle (zeichen 25)
so jetz ist es einfach
printf(" Batterielast ok, Last: %.1f%%c", loadvalue,25);
Warum einfach, wenn's auch kompliziert geht
-
CStoll schrieb:
oggs_the_progger schrieb:
such dir das zeichen aus einer ascii tabelle (zeichen 25)
so jetz ist es einfach
printf(" Batterielast ok, Last: %.1f%%c", loadvalue,25);
Warum einfach, wenn's auch kompliziert geht
und wenn schon, dann bitte '%' anstelle ein Wert, der nur auf ASCII-Systemen funktioniert ....
-
rüdiger schrieb:
und wenn schon, dann bitte '%' anstelle ein Wert, der nur auf ASCII-Systemen funktioniert ....
Wozu muß man sich denn überhaupt mit solchen Notlösungen herumschlagen? Ich hab' doch schon oben geschrieben, wie es richtig geht - %% wird von printf() als Prozentzeichen ausgegeben.
-
CStoll schrieb:
rüdiger schrieb:
und wenn schon, dann bitte '%' anstelle ein Wert, der nur auf ASCII-Systemen funktioniert ....
Wozu muß man sich denn überhaupt mit solchen Notlösungen herumschlagen? Ich hab' doch schon oben geschrieben, wie es richtig geht - %% wird von printf() als Prozentzeichen ausgegeben.
soll man ja auch gar nicht. Ich will nur klar machen, das es sogar noch eine Nummer dämlicher ist, diese Lösung zu benutzen, wenn man mit ASCII-Codes rumfummelt
-
am einfachsten ist es immernoch vorm benutzen von printf() sich mit der funktion vertraut zu machen
CStoll schrieb:
rüdiger schrieb:
und wenn schon, dann bitte '%' anstelle ein Wert, der nur auf ASCII-Systemen funktioniert ....
Wozu muß man sich denn überhaupt mit solchen Notlösungen herumschlagen? Ich hab' doch schon oben geschrieben, wie es richtig geht - %% wird von printf() als Prozentzeichen ausgegeben.