, . , .
: .
ASCII . , , : 13 10 (0xD 0xA).
() , .
. ( ) .
- , . , stdin stdout.
, stdio.h io.h. , - , . , , . - . BUFSIZ, stdio.h 512 ( ).
, . ( ) , .. , .
:
FILE * ID___;
FILE , stdio.h :
struct FILE {
short level; | ; 512 ; level = 0, ; |
unsigned flags; | , , ; |
char fd; | , .. , ; |
unsigned char hold; | , .. ungetc -; |
short bsize; | ; |
unsigned char buffer; | ; , ; |
unsigned char *curp; | ; ; |
unsigned istemp; | ; |
short token; | ; |
};
|
|
, .. , .
FILE* fopen (char * ID_, char *);
(, ) ( ).
, .. ID , , a:Mas_dat.dat Mas_dat dat, , d:\\work\\Sved.txt Sved txt, work.
. \, .
fopen ( ). NULL. , , , , .
, .
:
w (write); , ; , ;
r (read); , ;
a (append) ;
r + (w +) , .. , ;
a + , a, ( );
t ;
b ;
. : w + b , wb +, rw +, w + t , rt +, .
.
, , .
:
FILE *f; f;
f = fopen (" d:\\work\\Dat_sp.dat ", "w"); f, Dat_sp.dat d work, :
FILE *f = fopen ("d:\\work\\Dat_sp.dat", "w");
int fclose ( );
, : fclose (f);
:
void fcloseall (void);
, , .
FILE* freopen (char *ID_, char *, FILE *_);
, ( ), fclose, , fopen, ( ID_ ).
|
|
, .
FILE* tmpfile (void);
w + b. () .
-
- :
-;
-;
- .
- .
,
fprintf, fscanf, fgets, fputs.
, (. . 5.3, 5.4) printf, scanf, gets puts. . , printf , fprintf , .
:
#include<stdio.h>
void main(void)
{
FILE *f1;
int a=2, b=3;
if(! (f1 = fopen(d:\\work\\f_rez.txt,w+t))) { // f 1 = NULL
puts(Open File Error!);
return; // exit (1);
}
fprintf(f1,\t \n);
fprintf(f1, %d %d = %d\n, a, b, a+b);
fclose(f1);
}
, , , , printf .
, , .
() , , , . - fread fwrite, - .
.
unsigned fread (void * p, unsigned size, unsigned n, FILE * f);
f n size , p. . EOF (End Of File ).
:
unsigned fwrite (void * p, unsigned size, unsigned n, FILE * f);
f n size , p.
, , . , , .
, .. .
/++ . fseek, .
:
int fseek (FILE * f, long size, int code);
|
|
size , f, code, :
(SEEK_SET); | ||
(SEEK_CUR); | ||
(SEEK_END). |
, , , .
, (, ) .
(fseek) .
. :
long ftell (FILE * f);
1 .