文件I/O

来源:互联网 发布:2016年河池网络问政 编辑:程序博客网 时间:2024/05/26 09:55

 

文件I/O

(1)       打开文件

FILE *fopen(const char *filename,const char *mode);

“r”(只读),为输入一个文本文件

“w”(只写),为输出打开一个文本文件

“a”(追加),向文本文件末尾添加数据

“rb”(只读),为输入打开一个二进制文件

“wb”(只写),为输出打开一个二进制文件

“ab”(追加),向二进制文件末尾添加数据

“r+”(读写),为读写打开一个文本文件

“w+”((读写),为读写建立一个新的文本文件

“a+”(读写),为读写打开一个文本文件

“rb+”(读写),为读写打开一个二进制文件

“wb+”(读写),为读写建立一个新的二进制文件

“ab+”(读写),为读写打开一个二进制文件

 

实例:

FILE *fp;

fp=fopen(“file”,”mode”);

if(fp==NULL)

{

         printf(“open failed/n”);

         exit(1);

}

 

(2)       关闭文件

Int fclose(FILE *fp);

 

(3)       写字符

Int putc(int ch,FILE *fp);

Ch为被写入的字符。

 

(4)       读字符

Int getc(FILE *fp);

 

实例:

Do{

         Ch=getc(fp);

         }while(ch!=EOF);

 

(5)       使用feof()

判断读入二进制文件是否到达文件末尾。

Int feof(FILE *fp);

到达文件末尾时函数返回真值,否则返回0.

 

实例:

While(!feof(fp)) ch=getc(fp);

 

(6)       fputs()fgets()处理串

Int fputs(const char *str,FILE *fp);

Char *fgets(char *str,int length,FILE *fp);

(7)       rewind()

函数重置文件的位置指示。

Void rewind(FILE *fp).就是将文件指针指向文件开始。

 

(8)       ferror()

int ferror(FILE *fp);

在最近一次文件操作中出错时,函数返回真值;否则,返回假值。

 

(9)       删除文件

Int remove(const char *filename);

 

(10)   对流清仓

Int fflush(FILE *fp);

对输出流清仓,把输出流上的内容清入文件。函数将缓冲的全部数据写到fp指定的文件中。成功是函数返回0,否则返回EOF

 

(11)   使用fread()fwite()

Size_t fread(void *buf,size_t num_bytes,size_t count,FILE *fp);

Size_t fwrite(const void *buf,size_t num_bytes,size_t count,FILE *fp);

(12)   设置文件指针位置

Int fseek(FILE *fp,long int numbytes,int origin);

Numbytes是从原点origin到新位置的字节数;

Originstdio.h中定义的宏:

            文件开始:SEEK_SET

            当前位置:SEEK_CUR

            文件末尾:SEEK_END

(13)   fprintf()fscanf()

实例:

Fscanf(stdin,”%s”,s); //read from keyboard

Fprintf(fp,”%s”,s);  //write to file

Fscanf(fp,”%s”,s);  //read from file

Fprintf(stdout,”%s”,s)  //print on screen

 

 

 

 

原创粉丝点击