Akte Input/Output Funktionen in C |
C-Datei Behandlung - Akte Zeiger
|
Ein neues datatype benutzen, das einen Akte Zeiger mit zu den C-Dateien genannt wird. Diese Art wird als AKTE * geschrieben und definiert innerhalb stdio.h. Ein Akte Zeiger genannt worden output_file wird in einer Aussage ist erkl�rt, wie folgt:
|
|
Function Name |
Operation |
fopen() |
Creates a new file for use
Opens a new existing file for use |
fclose |
Closes a file which has been opened for use |
getc() |
Reads a character from |
putc() |
Writes a character to a file |
fprintf() |
Writes a set of data values to a file |
fscanf() |
Reads a set of data values from a file |
getw() |
Reads a integer from a file |
putw() |
Writes an integer to the file |
fseek() |
Sets the position to a desired point in the file |
ftell() |
Gives the current position in the file |
rewind() |
Sets the position to the begining of the file |
|
Ein Akte Zeigerverwenden �ffnend, fopen ()
|
Um Str�me zu �ffnen, fopen () wird verwendet. F�r �ffnung ordnet f�r Eingang ein, dieser ist h�ufig am benutztesten. Bevor er ihn zug�nglich machen kann, mu� dein Programm eine Akte �ffnen. Diese Funktion bringt den erforderlichen Akte Zeiger zur�ck. Die Wert NULL wird zur�ckgebracht, wenn die Akte nicht aus irgendeinem Grund ge�ffnet werden kann. Prototyp der fopens ist, wie folgt:
|
FILE *fopen (const char *path, const char *mode);
|
|
fopen einl��t den Weg zur Akte sowie den Modus und die Akte mit zu �ffnen. F�r das folgende Beispiel nehmen:
|
iFILE *Fp;
Fp = fopen("/home/johndoe/input.dat", "r");
|
|
F�r Messwert �ffnet dieses die Akte in /home/johndoe/input.dat. Du verwendest normalerweise fopen, wie unten gegeben:
|
if ((output_file = fopen("output_file", "w")) == NULL)
fprintf(stderr, "Cannot open %s\n", "output_file");
|
|
Nehmen fopen zwei Argumente, beide sind Zeichenketten, das erste ist der Name der ge�ffnet zu werden Akte, die Sekunde ist ein Zugang Buchstabe, der normalerweise einer vom folgenden ist:
- �r� - �ffnen der Akte f�r Messwert
- �a� - �ffnen der Akte f�r das Hinzuf�gen
- �W� - �ffnen der Akte f�r Schreiben
- �w+� - f�r das Schreiben und den Messwert (vorhandene Akte wird �berschrieben), �ffnen
- �R+� - f�r den Messwert und die Aktualisierung �ffnen (Akte mu� bereits bestehen)
- �a+� - f�r das Hinzuf�gen und das Ablesen �ffnen (Akte kann oder kann m�glicherweise nicht bestehen)
|
Die folgenden Code fragmentis verwendeten, den Text vom ersten <title> Element zu erhalten:
|
|
Einen Akte Zeiger mit fclose schlie�en ()
|
Du w�rdest fclose () benutzen um den Strom zu schlie�en. Der Prototyp f�r fclose wird unten gegeben:
|
int fclose( FILE *stream );
|
|
Akte Input/Output:: fgets ()
|
Die Alternativen zu scanf/fscanf ist fgets. Der Prototyp ist, wie folgt:
|
char *fgets(char *s, int size, FILE *stream);
|
|
fgets speichert sie in *s Zeiger und liest innen Gr��e - Buchstaben 1 vom Strom. Die Zeichenkette wird immer automatisch ung�ltig-beendet. Wenn sie ein EOF oder eine neue Zeile erreicht, stoppt fgets, in den Buchstaben zu lesen.
|
Akte Input/Output:: sscanf ()
|
Der sscanf Bibliothekanruf ist handlich, eine Zeichenkette f�r ein Format abzulichten. Der Prototyp ist, wie folgt:
|
int sscanf(const char *str, const char *format, ...);
|
|
sscanf nimmt einen Buchstabe Zeiger anstelle von einem Akte Zeiger und arbeitet ganz wie fscanf. Mit anstelle von scanf/fscanf die Kombination von fgets/sscanf verwendend kannst du vermeiden das �Verdauung� Problem (oder Wanze, abh�ngig von, wem du: sprichst)
|
Akte Input/Output:: fprintf ()
|
Auszugeben ist manchmal n�tzlich auch, zu den unterschiedlichen Str�men.
fprintf () erlaubt uns, die gleiche Sache genau zu tun
Der Prototyp f�r fprintf ist, wie folgt:
|
int fprintf(FILE *stream, const char *format, ...);
|
|
fprintf l��t einen speziellen Zeiger ein, der einen Akte Zeiger genannt wird, bedeutet durch die AKTE *. Es nimmt dann Argument und eine Formatierung Zeichenkette an und. Der einzige Unterschied zwischen printf und fprintf ist, da� fprintf Ausgang zu einem bestimmten Strom umadressieren kann. Diese Str�me k�nnen stderr, stdout oder ein Akte Zeiger sein. Mehr auf den Akte Zeigern, wenn wir erhalten, fopen. Ein Beispiel wird unten gegeben:
|
fprintf(stderr, "ERROR: Cannot malloc enough memory.\n");
|
|
Dieser Ausgang die Fehlermeldung zum Standardfehler.
|
Akte Input/Output:: fscanf ()
|
fscanf () ist im Allgemeinen eine Stromversion des scanf. Der Prototyp f�r fscanf ist, wie folgt:
|
int fscanf( FILE *stream, const char *format, ...);
|
|
Akte Input/Output:: fflush ()
|
Wenn das Programm zusammenst��t, manchmal wird der Strom nicht geschrieben. Du kannst dies tun, indem Sie fflush () Funktion verwenden. Einmal ist es notwendig, einen Puffer zu seinem Strom stark zu sp�len. Der Prototyp f�r fflush ist, wie folgt:
|
int fflush(FILE *stream);
|
|
Nicht sehr schwierig zu verwenden, den Strom zum fflush spezifizieren.
|
Das Programm, das unterhalb des Anzeigen Gebrauches von eine Akte Betrieben gegeben wird. Das Programm schreibt es und Daten kommen durch die Tastatur herein. Buchstabe durch Buchstaben, Eingang einordnen. Das Ende der Daten wird angezeigt, indem man einen EOFbuchstaben eintr�gt, der Steuerung-z ist. der Akte Eingang ist an nur diesem Signal geschlossen.
|
#include< stdio.h >
main()
{
file *f1;
printf("Data input output");
f1=fopen(Input,w); /*Open the file Input*/
while((c=getchar())!=EOF) /*get a character from key board*/
putc(c,f1); /*write a character to input*/
fclose(f1); /*close the file input*/
printf("\nData output\n");
f1=fopen(INPUT,r); /*Reopen the file input*/
while((c=getc(f1))!=EOF)
printf("%c",c);
fclose(f1);
}
|
|
|
|
Schl�sselw�rter:
Perl arbeitet, c Tutorial, php Funktionen, c Reihe, c Zeit, c Programme, c Beispiele, C-Sprache, c Bibliothek, c DLL, Unix c, c Programm, c Beispiel, Standardc, Reihe Funktionen, die Akte, die, variable Funktionen, Unix Akte, Funktionen Tutorial, Funktionen Beispiele ge�ffnet ist, die gelesene Akte, Akte schreiben, einfaches c, Probe c, variables c, Funktionen Beispiel
|