Als «printf» getaggte Fragen

`printf` ist eine übliche Funktion für formatierte Ausgaben. C und viele andere Sprachen haben eine ganze Familie verwandter Funktionen. Verwenden Sie dieses Tag nur, wenn sich die Frage direkt auf "printf" oder verwandte Funktionen bezieht.

13
Vermeiden Sie nachgestellte Nullen in printf ()
Ich stolpere immer wieder über die Formatspezifizierer für die printf () - Funktionsfamilie. Ich möchte in der Lage sein, ein Double (oder Float) mit einer maximal angegebenen Anzahl von Stellen nach dem Dezimalpunkt zu drucken. Wenn ich benutze: printf("%1.3f", 359.01335); printf("%1.3f", 359.00999); Ich bekomme 359.013 359.010 Anstelle des gewünschten 359.013 …
107 c  printf 


13
Auffüllen von Zeichen in printf
Ich schreibe ein Bash-Shell-Skript, um anzuzeigen, ob ein Prozess ausgeführt wird oder nicht. Bisher habe ich folgendes verstanden: printf "%-50s %s\n" $PROC_NAME [UP] Der Code gibt mir diese Ausgabe: JBoss [DOWN] GlassFish [UP] verylongprocessname [UP] Ich möchte die Lücke zwischen den beiden Feldern mit einem '-' oder '*' füllen, um …
106 bash  shell  printf 

5
Pythons viele Möglichkeiten zur Formatierung von Zeichenfolgen - werden die älteren (werden) veraltet sein?
Python bietet mindestens sechs Möglichkeiten zum Formatieren eines Strings: In [1]: world = "Earth" # method 1a In [2]: "Hello, %s" % world Out[2]: 'Hello, Earth' # method 1b In [3]: "Hello, %(planet)s" % {"planet": world} Out[3]: 'Hello, Earth' # method 2a In [4]: "Hello, {0}".format(world) Out[4]: 'Hello, Earth' # …

1
Wie funktioniert Haskell printf?
Die Typensicherheit von Haskell ist unübertroffen, nur bei Sprachen mit abhängiger Eingabe. Aber mit Text.Printf ist eine tiefe Magie im Gange , die ziemlich typisch wirkt. > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 Was ist die tiefe Magie dahinter? Wie kann …

7
Hexadezimalzeichen in C drucken
Ich versuche, eine Zeichenzeile einzulesen und dann das hexadezimale Äquivalent der Zeichen auszudrucken. Wenn ich zum Beispiel eine Zeichenfolge habe "0xc0 0xc0 abc123", bei der die ersten beiden Zeichen c0hexadezimal und die restlichen Zeichen abc123in ASCII sind, sollte ich sie erhalten c0 c0 61 62 63 31 32 33 Die …
103 c  hex  printf 

11
Warum ist printf mit einem einzelnen Argument (ohne Konvertierungsspezifizierer) veraltet?
In einem Buch, das ich lese, steht, dass printfmit einem einzigen Argument (ohne Konvertierungsspezifizierer) veraltet ist. Es wird empfohlen, zu ersetzen printf("Hello World!"); mit puts("Hello World!"); oder printf("%s", "Hello World!"); Kann mir jemand sagen warum printf("Hello World!");das falsch ist? In dem Buch steht, dass es Schwachstellen enthält. Was sind diese …

8
Printf-Breitenbezeichner zur Aufrechterhaltung der Genauigkeit des Gleitkommawerts
Gibt es einen printfBreitenbezeichner, der auf einen Gleitkomma- Bezeichner angewendet werden kann, der die Ausgabe automatisch auf die erforderliche Anzahl signifikanter Stellen formatiert, sodass beim erneuten Einscannen der Zeichenfolge der ursprüngliche Gleitkommawert erfasst wird? Angenommen, ich drucke a floatmit einer Genauigkeit von 2Dezimalstellen: float foobar = 0.9375; printf("%.2f", foobar); // …

4
printf-Formatbezeichner für uint32_t und size_t
Ich habe folgendes size_t i = 0; uint32_t k = 0; printf("i [ %lu ] k [ %u ]\n", i, k); Beim Kompilieren wird folgende Warnung angezeigt: format ‘%lu’ expects type ‘long unsigned int’, but argument has type ‘uint32_t’ Als ich dies mit einer Schiene ausführte, bekam ich Folgendes: Format …
101 c  printf 



6
Wie formatiere ich Strings mit printf (), um die gleiche Länge in der Ausgabe zu erhalten?
Ich habe zwei Funktionen, eine, die Nachrichten wie erzeugt, Starting initialization...und eine andere, die Rückkehrcodes und Ausgänge prüft "Ok", "Warning"oder "Error". Die erzeugte Ausgabe ist jedoch unterschiedlich lang: Starting initialization...Ok. Checking init scripts...Ok. Wie kann ich so etwas bekommen: Starting initialization... Ok. Checking init scripts... Ok.

13
Wie funktioniert dieses Programm?
#include <stdio.h> int main() { float a = 1234.5f; printf("%d\n", a); return 0; } Es zeigt ein 0!! Wie ist das möglich? Was ist die Begründung? Ich habe absichtlich eine %din die printfErklärung aufgenommen, um das Verhalten von zu untersuchen printf.
88 c++  c  memory  printf  endianness 

8
Verwenden von Farben mit printf
Wenn es so geschrieben wird, wird Text in Blau ausgegeben: printf "\e[1;34mThis is a blue text.\e[0m" Aber ich möchte, dass das Format in printf definiert wird: printf '%-6s' "This is text" Jetzt habe ich verschiedene Optionen zum Hinzufügen von Farbe ausprobiert, ohne Erfolg: printf '%-6s' "\e[1;34mThis is text\e[0m" Ich habe …
88 linux  bash  colors  printf 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.