[C] puts

dÄniBoy15

Stammgast
Hallo zusammen

Kann mir jemand etwas über den Befehl "puts" in C sagen? Ich muss in der Schule eine kleine Präsentation darüber machen. Ich habe keinen blassen Schimmer und Google hat mich auch nicht gerade weiter gebracht.

Danke schon im voraus!
 

dÄniBoy15

Stammgast
Ja, denn Link habe ich gefunden, aber ich verstehe trotzdem nicht viel mehr:(. Wir haben erst letzte Woche mit C Programmieren angefangen..
 

dÄniBoy15

Stammgast
Ich weiss das der Befehl "etwas" ausgibt und z.B. %d funktioniert nicht, also ich glaube alle "%" funktionieren nicht.
Das ist dass was ich ausprobiert habe

also das geht nicht:
Code:
main()
{
    puts("%d",3+3);
}

das geht und gibt hello world aus:

Code:
main()
{
    puts("hello world");
}
 

Amroc

Stammgast
Wenn du das

Code:
puts("%d", 3+3);

ausprobierst, müsste beim kompilieren eine Fehlermeldung erscheinen, da puts (im Gegenteil zu printf z.B.) keine weitere Argumente zulässt.
Dafür hängt die Funktion am Schluss automatisch einen Zeilenumschlag ein.
 

dÄniBoy15

Stammgast
Gibt es ausser dem Zeilenumbruch noch ein Vorteil oder gibt es einen bestimmten Fall in dem man puts und nicht printf verwenden sollte?
 

M.Ä.N.E

Stammgast
Also puts(kommt von put string) ist wie folgt definiert:
Code:
int puts(const char *string);
Und es bewirkt die Ausgabe eines Strings(auf Stdout) mit anschliessendem \n(Newline). Der String kann nicht formatiert ausgegeben werden für das hat man ja printf. Es gibt auch noch die Funktion fputs(file put sting) Bei der du den stream(also wo hin) angeben kannst als 2. Argument. fputs(string,DATEI) wobei fputs(string,stdout)=puts(string)

Zu deiner Frage: Nein, eigentlich nicht es erspart nur ein bischen Zeit wenn du puts(string);
schreibst anstaten von printf("%s\n",string).
 
Oben