文档介绍:本章要点
什么是文件?C文件是如何存储的?
什么是文本文件和二进制文件?
怎样打开、关闭文件?
怎样编写文件读写程序?
怎样编写程序,实现简单的数据处理?
第1页/共49页
将短句“Hello World”写入到文件
例12-1 把短句 “Hello World!” 。
第2页/共49页
#include <>
#include <>
int main(void)
{
FILE *fp; /* 定义文件指针*/
if( ( fp = fopen("", "w") ) == NULL){ /* 打开文件 */
printf("File open error!\n");
exit(0);
}
fprintf( fp, "%s", "Hello World! " ); /* 写文件 */
if( fclose( fp ) ){ /* 关闭文件 */
printf( "Can not close the file!\n" );
exit(0);
}
return 0;
}
例12-1 源程序
运行12-001
第3页/共49页
#include <>
#include <>
int main(void)
{ FILE *fp; /* 定义文件指针*/
char *chp=“hello world”; /* 定义字符串指针*/
if( ( fp = fopen("", "w") ) == NULL){ /* 打开文件 */
printf("File open error!\n");
exit(0);
}
printf("please input a string\n");
gets(chp);
fprintf( fp, "%s", chp); /* 写文件 */
if( fclose( fp ) ){ /* 关闭文件 */
printf( "Can not close the file!\n" );
exit(0);
}
return 0;
}
例12-1 改进
运行12-002
第4页/共49页
文件的概念
文件:保存在外存储器上的一组数据的有序集合
特点:
数据长久保存
数据长度不定
数据按顺序存取
第5页/共49页
文本文件和二进制文件
C语言中的文件是数据流
文件的两种数据形式:
ASCII码 (文本文件 text stream)字符流
二进制码(二进制文件 binary stream)
二进制文件是直接把内存数据以二进制形式保存。
例如,整数1234
文本文件保存:49 50 51 52 (4个字符)
二进制文件保存: 04D2 (1234的二进制数)
第6页/共49页
文本文件特点:
存储量大、速度慢、便于对字符操作
二进制文件特点:
存储量小、速度快、便于存放中间结果
第7页/共49页
缓冲文件系统
内存单元 内存单元
数据
……
缓冲器
512字节
……
文件
由操作系统自动完成
程序控制
由于磁盘速度慢
直接把数据写到磁盘效率很低
第8页/共49页
缓冲文件系统
向磁盘输出数据:数据 缓冲区,装满缓冲区后 磁盘文件。
从磁盘读入数据:先一次性从磁盘文件将一批数据输入到缓冲区,然后再从缓冲区逐个读入数据到变量。
数据
……
缓冲器
512字节
……
文件
由操作系统自动完成
程序控制
文件名
内存单元 内存单元
用什么标识
第9页/