这一讲来给大家讲讲文件的相关操作。文件?何为文件?大家几乎每天都在用,但真较真起来,大家还真就不一定说出文件的概念,当然我也不例外,我也说不出来那些个书面概念,但不重要,我们学的不是那些教授定义处的抽象的概念。好了,通俗点,文件嘛就是存储在磁盘上的很多0和1的集合。当然这些0和1是按照既定的文件系统排布的,windows上最新的算是NTFS了,linux下最近的是ext4。扯远了,这个大家知道就好了。
C语言里面,规定对于文件的操作都是通过标准库函数实现的。常用的有
fopen():打开一个文件
fclose():关闭一个文件
fputc():向文件写字符
fgetc():从文件读字符
fgets():从文件读取一行
fputs():向文件写一行
fread():从文件读取数据块
fwrite():向文件写数据块
feof():判断文件是否到文件尾
rewind():移动文件指针
好了不给大家列举了,大家去查查怎么用吧。
下面给大家讲解一下fopen这个函数
fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,打开方式) 其中,例如:
FILE *fp=fopen("file.a","r");
其意义是在当前目录下打开文件file a,只允许进行“读”操作,并使fp指向该文件。
打开方式主要有以下若干类:
r:只读打开一个文本文件,只允许读数据
w:只写打开或建立一个文本文件,只允许写数据
a:追加打开一个文本文件,并在文件末尾写数据
t:以文本的方式打开文件
b:以二进制的方式打开文件
+:可读可写
另外
rt+:读写打开一个文本文件,允许读和写
wt+:读写打开或建立一个文本文件,允许读写
at+:读写打开一个文本文件,允许读,或在文件末追加数据
rb+:读写打开一个二进制文件,允许读和写
wb+:读写打开或建立一个二进制文件,允许读和写
ab+:读写打开一个二进制文件,允许读,或在文件末追加数据
有关二进制文件和文本文件将有专门的文章讲解,大家别急,现在的话大家就暂且这两个一样吧。
下面给大家实际进行一个文件操作的例程
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp1 = fopen("F:\\temp1.txt","r");
FILE *fp2 = fopen("F:\\temp2.txt","w");
int ch=0;
while((ch=fgetc(fp1))!=EOF)
{
fputc(ch,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
这个程序实现了一个简单的文件复制操作。来看看效果
不错吧 基本的都实现了,大家别急。这讲主要是让大家来感受下,甚至于今天介绍的很多函数大家都不用去记,用到时多查查就好了,以后会为大家讲解每一个细节的。文件的加密解密都要讲,保准让大家学到每一个细节,尽我所能。好了 大家亲自去实现一下吧。