Funzioni dell'ingresso/uscita della lima in C |
Maneggiamento del file C - indicatori di lima
|
Usare un nuovo datatype denominato un indicatore di lima con ai file C. Questo tipo � scritto come LIMA * ed � definito all'interno di stdio.h. Un indicatore di lima denominato output_file � dichiarato in una dichiarazione � come segue:
|
|
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 |
|
Aprendo usando dell'indicatore di lima fopen ()
|
Per aprire i flussi, fopen () � usato. Per l'apertura archivia per input, questo � il pi� usato spesso. Prima che possa accedergli, il vostro programma deve aprire una lima. Questa funzione restituisce l'indicatore di lima richiesto. La POSIZIONE DI SEGNALE MINIMO di valore sar� restituita, se la lima non pu� essere aperta per alcun motivo. il prototipo dei fopen � come segue:
|
FILE *fopen (const char *path, const char *mode);
|
|
fopen contiene il percorso alla lima cos� come il modo ed aprire la lima con. Prendere per il seguente esempio:
|
iFILE *Fp;
Fp = fopen("/home/johndoe/input.dat", "r");
|
|
Per lettura, questo aprir� la lima in /home/johndoe/input.dat. Userete solitamente fopen come dato qui sotto:
|
if ((output_file = fopen("output_file", "w")) == NULL)
fprintf(stderr, "Cannot open %s\n", "output_file");
|
|
fopen gli introiti due discussioni, entrambe sono stringhe, il primo � il nome della lima da aprire, il secondo � un carattere di accesso, che � solitamente uno di quanto segue:
- apertura "r" - della lima per lettura
- apertura "a" - della lima per collegare
- apertura "W" - della lima per scrittura
- "w+" - aprir per la scrittura e la lettura (la lima attuale sar� scritta sopra)
- "R+" - aprir per la lettura e l'aggiornamento (lima deve gi� esistere)
- "a+" - aprir per collegare e la lettura (lima pu� o meno esistere)
|
I seguenti fragmentis di codice hanno usato ottenere il testo dal primo elemento del <title>:
|
|
Chiudendo un indicatore di lima usando fclose ()
|
Usereste il fclose () per chiudere il flusso. Il prototipo per fclose � dato qui sotto:
|
int fclose( FILE *stream );
|
|
Ingresso/uscita della lima:: fgets ()
|
Le alternative a scanf/fscanf � fgets. Il prototipo � come segue:
|
char *fgets(char *s, int size, FILE *stream);
|
|
i fgets la immagazzina nell'indicatore dei *s e legge dentro il formato - caratteri 1 dal flusso. La stringa sempre nullo-� terminata automaticamente. Se raggiunge un EOF o un newline, i fgets smette di leggere nei caratteri.
|
Ingresso/uscita della lima:: sscanf ()
|
La chiamata della biblioteca dello sscanf � pratica esplorare una stringa per una disposizione. Il prototipo � come segue:
|
int sscanf(const char *str, const char *format, ...);
|
|
lo sscanf prende un indicatore del carattere anzich� un indicatore di lima e funziona tanto come fscanf. Anzich� scanf/fscanf, usando la combinazione di fgets/sscanf potete evitare il problema �di digestione� (o insetto, secondo chi comunicate con:)
|
Ingresso/uscita della lima:: fprintf ()
|
� a volte utile inoltre da produrre ai flussi differenti.
il fprintf () permette che noi facciamo esattamente la stessa cosa
Il prototipo per fprintf � come segue:
|
int fprintf(FILE *stream, const char *format, ...);
|
|
il fprintf contiene un indicatore speciale denominato un indicatore di lima, indicato la LIMA *. Allora accetta la discussione e una stringa di formattazione e. L'unica differenza fra printf e fprintf � che il fprintf pu� riorientare l'uscita ad un flusso particolare. Questi flussi possono essere stderr, stdout, o un indicatore di lima. Pi� sugli indicatori di lima quando otteniamo fopen. Un esempio � fornito qui sotto:
|
fprintf(stderr, "ERROR: Cannot malloc enough memory.\n");
|
|
Questa uscita il messaggio di errore all'errore standard.
|
Ingresso/uscita della lima:: fscanf ()
|
il fscanf () � basicamente una versione dei flussi dello scanf. Il prototipo per fscanf � come segue:
|
int fscanf( FILE *stream, const char *format, ...);
|
|
Ingresso/uscita della lima:: fflush ()
|
Se il programma si arresta, a volte il flusso non � scritto. Potete fare questo usando la funzione del fflush (). Un momento � necessario validamente da irrigare un amplificatore al relativo flusso. Il prototipo per fflush � come segue:
|
int fflush(FILE *stream);
|
|
Non molto difficile usare, specificare il flusso a fflush.
|
Il programma che � dato sotto uso delle esposizioni dei funzionamenti della lima. Il programma lo scrive ed i dati entrano tramite la tastiera. Carattere dal carattere, archiviare input. La conclusione dei dati � indicata entrando in un carattere di EOF, che � controllo-z. l'input della lima � chiuso a questo segnale soltanto.
|
#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);
}
|
|
|
|
Keywords:
perl functions,
c tutorial,
php functions,
c array,
c time,
c programs,
c examples,
c language,
c library,
c dll,
unix c,
c program,
c example,
standard c,
array functions,
file open,
variable functions,
unix file,
functions tutorial,
functions examples,
file read,
file write,
simple c,
sample c,
variable c,
functions example
|