Was bedeutet f in printf? [closed]

Lesezeit: 2 Minuten

Benutzeravatar von Sharan
Sharan

Was bedeutet “f” in printf von C?

  • Ich habe gerade angefangen, C-Programmierung zu lernen … Ich entschuldige mich, wenn diese Frage dumm ist …

    – Scharan

    25. Mai 2012 um 21:47 Uhr

  • Was ist an der Frage vage oder mehrdeutig? Wie ist es nicht vernünftig zu beantworten? Es gibt sicherlich vernünftige Antworten. (Es scheint auch lustig zu sein, dass K-ballo einer der Leute war, die dies trotz der akzeptierten Antwort geschlossen haben.)

    – jamesdlin

    26. Mai 2012 um 2:36 Uhr


  • Es ist eine echte Frage, die aber schnell gegoogelt werden könnte (wie viele andere Fragen): google.com/… Daher ist es doppelt, also stimme ich für das Schließen, aber aus einem anderen Grund.

    – Ofer Zelig

    16. Dezember 2018 um 5:29 Uhr

  • Google-Fähigkeit sollte nicht die Grundlage für das Schließen einer Frage sein. Google indiziert StackOverflow; daher können alle Fragen und Antworten zu SO implizit bei Google gesucht werden.

    – jamesdlin

    1. April 2019 um 20:52 Uhr


Das f in printf steht für formatiertwird zum Drucken mit formatierter Ausgabe verwendet.

  • Danke… also wenn ich schreibe einfach ausdrucken, geht das dann…

    – Scharan

    25. Mai 2012 um 21:44 Uhr

  • @Sharan Chandran: Es gibt keine print Funktion in der C-Standardbibliothek.

    – K-ballo

    25. Mai 2012 um 21:46 Uhr

  • @SharanChandran Die nicht formatierte Version wird nur aufgerufen puts.

    – Chris Reis

    25. Mai 2012 um 23:09 Uhr

Wie andere angemerkt haben, die nachlaufend f zeigt formatierte Ausgabe (oder formatierte Eingabe für Funktionen in der scanf Familie).

Ich füge jedoch hinzu, dass die Unterscheidung wichtig ist, weil es für Aufrufer wichtig ist zu wissen, dass von der Zeichenfolge eine Formatbezeichner-Semantik erwartet wird. Tun Sie dies beispielsweise nicht:

char* s = get_some_user_input();
printf(s); // WRONG.  Instead use: printf("%s", s) or fputs(stdout, s)

Wenn s passiert zu enthalten % Zeichen, drucken Sie es direkt mit printf kann dazu führen, dass auf nicht vorhandene Argumente zugegriffen wird, was zu undefiniertem Verhalten führt (und dies ist eine Ursache für einige Sicherheitslücken). Denken Sie an diese Namenskonvention, wenn Sie jemals Ihre eigene definieren printf-wie variadische Funktionen.

Wenn ich mich nicht irre, steht printf für “Print formatted data to stdout”.

  • Einfach “formatiert drucken” — stdout wird einfach als selbstverständlich angesehen, solange Sie nichts anderes mit angeben fprintf.

    – Jerry Sarg

    25. Mai 2012 um 21:52 Uhr

Benutzeravatar von Phillip Schmidt
Philipp Schmidt

printf ermöglicht die Formatierung, während print dies nicht tut. Außerdem existiert print nicht in C. Ich weiß nicht einmal, was printg ist.

1432650cookie-checkWas bedeutet f in printf? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy