文件的打开和关闭
函数原型:FILE *fopen(char *filenname,char *type)
参数filename为文件名,参数type为对所打开文件的操作方式
type 含义 文件不存在时 文件存在时
r 只读 返回错误标识 打开文件
w 只写 建立新文件 打开文件,原文件内容清空
a 追加 建立新文件 打开文件,只能从文件尾追加数据
r+ 读/写 返回错误标识 打开文件
w+ 读/写 建立新文件 打开文件,原文件内容清空
文件的正确打开方式
代码实例:
1 #include <stdio.h> 2 int main(int argc,char **argv 3 { 4 FILE *fp; 5 fp = fopen("filename","w"); 6 if(fp == NULL) 7 printf("error") ; 8 else 9 printf("open file ok") 10 }
在打开文件时要对文件是否打开成功进行检测。
文件的顺序读写
文件的顺序读写是指文件被打开后,按照数据流的先后顺序对文件进行读写操作,每读写一次后,文件指针自动指向下一个读写位置。
1 字符读写函数
从文件中读取一个字符
int fget(FILE *stream)
该函数的调用形式
ch = fget(fp)
作用:从fp所指的文件中读取一个字符,赋予变量ch,当读到文件尾时或读出错时,返回-1
向文件写一个字符
char fputc(char ch,FILE *fp)
该函数的调用形式
fputc(ch,fp)
作用:把字符变量写到文件指针所指的文件中,若写入成功则返回写入的字符变量,若出错则返回-1
代码实例
1 #读取本地文件内容,并打印在终端 2 #include<stdio.h> 3 int mian(int argc,char **argv) 4 { 5 FILE *fp; 6 char ch; 7 fp = fopen("filename","w"); 8 if(fp == NULL) 9 printf("error"); 10 return -1; 11 else 12 while((ch = fgetc(fp)) != -1) 13 putchar(ch); 14 fclose(fp); 15 }
#从键盘输入至文件中 #include <stdio.h> int main(int argc,char **argv) { FILE *fp; char ch; fp = fopen("filenanme","w"); if(fp == NULL) printf("error"); else{ while((ch = getchar())!= EOF) fputc(fp); fclose(fp); } }
字符串读写函数
从文件中读取字符串:char *fgets(char *string,int n,FILE *stream)
作用:从fp所指文件中读取n-1个字符,放到以str为起始位置的存储空间,str可以是一个字符组数组名
向文件中写入字符串:int fputs(char *str,FILE *stream)
作用将str所指的字符串输出到文件中
代码实例