C程序设计ch11 文件管理

时间:2025-07-10

C程序设计

第十一章 文件11.1 C文件 文件文件位 存储在外部介质上数据的集合,是操作系统数据管理的单 存储在外部介质上数据的集合 是操作系统数据管理的单

使用数据文件的目的数据文件的改动不引起程序的改动——程序与数据分离 程序与数据分离 数据文件的改动不引起程序的改动 不同程序可以访问同一数据文件中的数据——数据共享 不同程序可以访问同一数据文件中的数据 数据共享 长期保存程序运行的中间数据或结果数据

C程序设计

注册表( 自启动项) 注册表(如:自启动项)就是程序与数据分离的 一个例子: 一个例子: HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows\CurrentVersion\Run [HKEY_CURRENT_USER]-->[Control Panel]->[Desktop],将右面窗口的 ,将右面窗口的[PaintDesktopVersion] 数值资料更改为[1],重新启动后操作系统 操作系统的版本 数值资料更改为 ,重新启动后操作系统的版本 便会显示在桌面的右下角. 便会显示在桌面的右下角.

文件分类按存储介质: 按存储介质: 普通文件:存储介质文件(磁盘,磁带等) 普通文件:存储介质文件(磁盘,磁带等) 设备文件:非存储介质(键盘 显示器,打印机等) 键盘, 设备文件:非存储介质 键盘,显示器,打印机等 按数据的组织形式: 按数据的组织形式: 文本文件: 文件,每个字节存放一个字符的 文本文件: ASCII文件 每个字节存放一个字符的 文件 ASCII码 码 二进制文件: 二进制文件:数据按其在内存中的存储形式原样存放

C程序设计

文本文件特点: 文本文件特点: 存储量大,速度慢, 存储量大,速度慢,便于对字符操作型数10000 如 int型数 型数 ASCII形式 形式 0011000100110000001100000011000000110000 0010011100010000 0010011100010000 内存存储形式 二进制形式

二进制文件特点: 二进制文件特点: 存储量小,速度快, 存储量小,速度快,便于存放中间结果

C程序设计

11.2 定义和打开文件FILE *fopen(const char * filename, const char * mode);例 FILE *fp; fp= fopen ("d:\\stu_dat.txt", "r"); 例 FILE *fp; char *filename="d:\\stu_dat.txt"; fp= fopen(filename, "r"); 例 文件打开与测试 FILE *fp; fp=fopen("in.txt", "w"); if(NULL==fp) 要打开的文件名 { printf("File open error!\n"); exit(0); }

C程序设计

返值:正常打开,为指向文件结构体的指针; 返值:正常打开,为指向文件结构体的指针;打 开失败, 开失败,为NULL 文件结构体在stdio.h中定义: 中定义: 文件结构体在 中定义 文件使用方式: 文件使用方式: r 为读打开文件 w 为写打开文件 a 为追加打开文件 r+ 为读和写打开文件 w+ 同w a+ 同a

C程序设计

11.3 关闭文件使文件指针变量与文件"脱钩" 清理缓冲区. 使文件指针变量与文件"脱钩",清理缓冲区. 也避免对文件的误操作. 也避免对文件的误操作. fclose(fp); 系统自动打开和关闭三个标准文件: 系统自动打开和关闭三

个标准文件: 标准输入------键盘 stdin 标准输入 键盘 标准输出------显示器 stdout 标准输出 显示器 标准出错输出-----显示器 stderr 标准出错输出 显示器 前面学过的含scanf,printf程序可改为: 前面学过的含 程序可改为: 程序可改为 fscanf(stdin,"%d%d",&m,&n) fprintf(stdout,"%d,%d\n",m,n)

C程序设计

11.4 文件的读写字符I/O:fputc与fgetc 与 字符fputc函数原型:int

fputc(int c, FILE *fp)

fgetc

功能:把一字节代码 写入 写入fp指向的文件中 功能:把一字节代码c写入 指向的文件中 返值:正常,返回c;出错 出错, 返值:正常,返回 出错,为EOF 函数原型: 函数原型:int

fgetc(FILE *fp)

功能: 指向的文件中读取一字节代码 功能:从fp指向的文件中读取一字节代码 指向的文件中读取 返值:正常,返回读到的代码值;读到文件尾或出错 读到文件尾或出错, 返值:正常,返回读到的代码值 读到文件尾或出错,为 EOF

#define #define #define #define

文件I/O与终端I/O 文件I/O与终端I/O I/O与终端 putc(ch,fp) fputc(ch,fp) getc(fp) fgetc(fp) putchar( c ) fputc(c,stdout) getchar( ) fgetc(stdin)

C程序设计

#include <stdio.h> 从键盘输入字符, 例 从键盘输入字符,逐个 main() 存到磁盘文件中,直到 { FILE *fp; 存到磁盘文件中, 输入' 为止 输入'#"为止 char ch,*filename="out.txt"; if((fp=fopen(filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); #include <stdio.h> } main() printf("Please input string:"); { FILE *fp; ch=getchar(); char ch,*filename="out.txt"; while(ch!='#') if((fp=fopen(filename,"r"))==NULL) { fputc(ch,fp); { printf("cannot open file\n"); putchar(ch); exit(0); ch=getchar(); } } while((ch=fgetc(fp))!=EOF) fclose(fp); putchar(ch); } fclose(fp); } 一些参考系统中是Ctrl+Z

C程序设计

判断二进制文件是否结束: 判断二进制文件是否结束 二进制文件是否结束 if( feof(fp) )printF("End of Datafile"); while( !feof(fp) ) { c=fgetc(fp); …….. } feof 函数原型: 函数原型: int feof(FILE *fp) 功能: 功能:判断文件是否结束 返值:文件结束,返回真( 返值:文件结束,返回真(非0); ); 文件未结束,返回0 文件未结束,返回

C程序设计

例 文件拷贝#include <stdio.h> main() { FILE *in, *out; char ch,infile[10],outfile[10]; puts("Enter input file:"); scanf("%s",infile); puts("Enter output file:"); scanf("%s" …… 此处隐藏:4647字,全部文档内容请下载后查看。喜欢就下载吧 ……

C程序设计ch11 文件管理.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219