如果要把这个文件的内容复制到另一个文件,打开它,读入。
在写另一个文件,在执行写语句以前打开文件就可以,不一定一开始就打开。
可以读一段,写一段,也可以全部读入,再写出。
最后关闭文件。
当然,要是调用DOS 复制命令:
system("copy file_Atxt file_Btxt");
不用自己打开和读写了。步骤如下:
1、数据流:程序与数据间的交互是以流的形式进行。在C语言文件存取时,打开文件 *** 作,关闭数据流。
2、缓冲区:程序执行时,提供的额外内存以暂时存放数据。缓冲区作用是为了提高存取效率,内存的存取速度比磁盘快。
3、文件类型:分为文本文件和二进制文件两种。
补充:
1、文本文件:字符编码的方式进行保存。
2、二进制文件:内存中的数据原封不动至文件中,适用于非字符为主的数据。所有文件都可以看成二进
制型的
用f1=fopen("bbbtxt","wb");
来创
建,和"w"区别
在于
打印"\n"时
"w"是2字节
,0x0d
0
而"wb"是1字节
,
0
二进
制数据这
样
写入
比如是个int
a;
fwrite(&a,sizeof(int),1,f1);
数组
就不用加&了
在C语言中文件按存储形式可划分为文本文件和二进制文件,文本文件又称纯文本文件。
文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息。二进制文件是指包含在ASCII及扩展ASCII字符中编写的数据或程序指令的文件,广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。文本文件是一种由很多行字符构成的计算机文件。文本文件存在于计算机系统中,通常在文本文件最后一行放置文件结束标志。文本文件的编码基于字符定长,译码相对要容易一些;二进制文件编码是变长的,灵活利用率要高,而译码要难一些,不同的二进制文件译码方式是不同的。可以使用二进制格式存储。需要注意的是,链表的指针域,可以不存入二进制文件,或者说,存进去也没有用处。
指针域的值,是指向其它单元的地址值,而地址值是动态分配的,从文件中读出时,该段内存很可能已经失效,所以再直接使用存储值就会出问题。
正确的做法是:
1
将链表按节点存放到二进制文件中,是否存储指针域均可。
2
读取时,每次读取一个节点的数据,指针域置空;
3
将每个节点的数据,按照存储的顺序(从头到尾,或从尾到头),重新分配节点资源,并形成有效链表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)