Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

puts - Zeichenkette auf Standardausgabe ausgeben

&pagelevel(4)&pagelevel

Definition

#include <stdio.h>

int puts(const char *s);

puts schreibt die Zeichenkette s auf die Standardausgabe stdout und fügt ein abschließendes Neue-Zeile-Zeichen hinzu.
Die Zeichenkette s muss mit einem Nullbyte (\0) abgeschlossen sein.

Returnwert 

0

bei Erfolg                                                

 

EOF

sonst

Hinweise

Im Gegensatz zu fputs schließt puts die Ausgabe automatisch mit einem Neue-Zeile-Zeichen ab. Enthält die auszugebende Zeichenkette bereits ein abschließendes Neue-Zeile- Zeichen (z.B. ein Satz in SAM- oder ISAM-Dateien), führt dies zu einer zusätzlichen Leerzeile bei der Ausgabe.

Das abschließende Nullbyte von s wird nicht mitausgegeben.

Weitere Informationen zur Ausgabe in Textdateien, v.a. zur Umsetzung der Steuerzeichen für Zwischenraum (\n, \t, etc.), finden Sie im Abschnitt „Zwischenraum“ (Grundbegriffe).

Bei Textdateien mit der Zugriffsart SAM und variabler Satzlänge, für die zusätzlich eine maximale Satzlänge angegeben ist, gilt: Wenn bei fopen die Angabe split=no gemacht wurde, werden Sätze, die länger als die maximale Satzlänge sind, beim Schreiben auf die maximale Satzlänge gekürzt. Standardmäßig oder mit der Angabe split=yes werden diese Sätze in mehrere Sätze aufgeteilt. Hat ein Satz genau die maximale Satzlänge, wird nach diesem ein Satz der Länge Null geschrieben.

Beispiel

Dieses Beispiel zeigt den unterschiedlichen Abschluss der Ausgabe bei puts und fputs.

#include <stdio.h>
int main(void)
{
 FILE *fp;
 char s[BUFSIZ];
 fp=fopen("dat","w");
 while(gets(s) != NULL)
      {
        fputs(s,fp);
        puts(s);
      }
 return 0;
}

Wenn Sie nach Ablauf dieses Programmes dat anschauen, stellen Sie fest, dass die Zeichenketten aus der Eingabe (gets löscht ein ggf. vorhandenes Neue-Zeile-Zeichen) von fputs hintereinander und nicht zeilenweise geschrieben wurden. Die Ausgabe durch puts erfolgt dagegen zeilenweise, da in jede eingelesene Zeichenkette automatisch ein Neue-Zeile-Zeichen angefügt wird.

Siehe auch

fputs, gets, fgets, putws, sprintf, snprintf