标准IO库

流定向(stream‘s orientation):对于ASCII字符集,一个字符用一个字节表示。 对于国际字符集,一个字符可用多个字节表示。 流的定向决定了锁读,写的字符时单字节还是多字节。

设置流的定向:

#include <stdio.h>

#include <wchar.h>

int fwide(FILE *fp, int mode);

缓冲

打开流

#include <stdio.h>

FILE *fopen(.....);

FILE *freopen(.....);

FILE *fdopen(.....);

读和写流

int getc(FILE *fp)

int fgetc(FILE *fp);

int getchar(void);

 

int ferror(FILE *p);

int feof(FILE *p);

 

void clearerr(FILE *p);

 

int ungetc(int c , FILE *fp);

 

int putc(int c, FILE *fp);

int fputc(int c, FILE *fp);

int putchar(int c);

 

每次一行

char *gets();

char fgets();

int fputs()

int puts();


二级制io

size_t fread();

size_t fwrite();


定位流

long ftell()

int fseek()

void rewind()

off_t ftello()

int fseeko()

int fgetpos

int fsetpos

 

格式化io

int printf 

int fprintf

int sprintf

int snprintf

int vprintf

int vfprintf

int vsprintf

int vsnprintf

 

int scanf

int fscanf

int sscanf

int vscanf

int vfscanf

int vsscanf

 

实现细节

int fileno(FILE *fp)

对一个流调用fileno函数以获得其描述符。

GNU标准io库的实现公开可以查看io库的实现。从stdio.h开始。

 

临时文件

char *tmpnam(char *ptr)

FILE *tmpFILE(void)