打开关闭读写文件-乡巴老也能看懂
来源:互联网 发布:网络建设知识 编辑:程序博客网 时间:2024/05/22 05:08
函数简介
函数原型:FILE * fopen(const char * path, const char * mode);
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码存在errno中。
一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在 fopen() 后作错误判断及处理。
参数说明:
参数 path: 字符串包含欲打开的文件路径及文件名,
参数 mode: 字符串则代表着流形态。
返回值说明:
如果打开成功,返回FILE *。 要接收返回值 需要 声明FILE 类型变量 接收
如果打开失败,返回NULL。
如果打开失败,返回NULL。
mode 有下列几种形态字符串:
字符串说明r以只读方式打开文件,该文件必须存在。r+以读/写方式打开文件,该文件必须存在。rb+以读/写方式打开一个二进制文件,只允许读/写数据。rt+以读/写方式打开一个文本文件,允许读和写。w打开只写文件,若文件存在则长度清为 0,即该文件内容消失,若不存在则创建该文件。w+打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。a以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留(EOF 符保留)。a+以附加方式打开可读/写的文件。若文件不存在,则会建立该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(原来的 EOF 符不保留)。wb以只写方式打开或新建一个二进制文件,只允许写数据。wb+以读/写方式打开或建立一个二进制文件,允许读和写。wt+以读/写方式打开或建立一个文本文件,允许读写。at+以读/写方式打开一个文本文件,允许读或在文本末追加数据。ab+以读/写方式打开一个二进制文件,允许读或在文件末追加数据。使用方法
第一步 调用fopen 函数 打开文件
fopen(参数1 char类型指针 ,说明:要打开文件的地址,参数2 要打开的方式,"r""r+"等待); 返回FILE * 类型 假为NULL
第二部 接受判断返回值是否有效
FILE *fp = fopen;
注意 接受返回值的 变量 是FILE * 类型
第三部 最后关闭 并将指针置NULL
char *fp_path = "E:\\c\\duWenJian\\hello.txt";
注意 char *类型变量 内容:\\使用转义字符 \ 否则E:\c\duWenJian\hello.txt 这样是无效的。
fclose(fp); //关闭
fp=NULL;
下面实例 :
#include <stdio.h>#include <stdlib.h>#include <ctype.h>int main(){ int alpht=punct=isCN = 0; FILE *fp; char ch; char *fp_path = "hello.txt"; fp=fopen(fp_path,"r"); if(fp==NULL) return-1; else{ ch=fgetc(fp); while(ch!=EOF) { printf("%c",ch); if((isalpha(ch))!=NULL) alpht++; else if((ispunct(ch))!=NULL) punct++; else if(isspace(ch)!=NULL) ; else{ if ((int)&ch>127 ) isCN++; } ch=fgetc(fp); } printf("\n英文有%d个",alpht); printf("\n符号有%d个",punct); printf("\n中文有%d个",isCN/2); printf("\n将中文符号也算做是中文"); fclose(fp); } return 0;}
阅读全文