文件指针
定义:
FILE *指针变量名;
如:
FILE *fp1,*fp2;
一次定义了两个指向文件的指针
文件操作方式
※文本方式
文本方式将数据以ASCII码方式存储在文件中,我们电脑中的“文本文件”就是典型的以文本方式存储的文件。
※二进制方式
音乐、图形这类非文本数据,就比较适合使用二进制方式存储
打开文件
格式:
FILE *fopen(文件名,文件使用方式);
如:
FILE *fp;
fp=fopen(“file_a”,”r”);
使用方式列表:
※ ”r”,文本只读
※ ”rb”,二进制只读
※ ”w”,文本只写
※ ”wb”,二进制只写
※ ”a”,文本添加
※ ”ab”,二进制添加
※ r+,w+,a+,rb+,wb+,ab+
带加号方式打开的文件,读写都允许,其它操作与前面6项一样。
打开文件经常会出现错误,比如这个文件根本就不存在。可用以下方法检查:
if((fp=fopen(“file_a”,”r”))= =NULL)
{
printf(“Cannot open this file ”);
exit(0); /*使程序退出运行*/
}
关闭文件
格式:
fclose(文件指针);
文本文件的读写
写入:
putc(字符,文件指针);
读取:
char getc(文件指针);
判断是否文件尾部:
EOF
因为ASCII字符没有负数,所以在C语言中将EOF定义为-1。用文件读取函数时,遇见-1或EOF即为文件结束标志。
程序1
将字符串”Hello”写入文本文件
// 28-1将字符串hello写入文本文件.c #include <stdio.h> main() { FILE *fp; //定义文件指针 char str[20] = "hello"; //定义写入的字符串 char *pc = str; //指向字符名指针 fp = fopen("myfile.txt", "a"); //打开文件 if (fp == NULL) //如果是 fp为空 { printf("打开文件错误! "); exit(0); //系统退出 } while (*pc != '