小型文件管理程序设计.doc

上传人:帮**** 文档编号:771578 上传时间:2019-06-23 格式:DOC 页数:7 大小:85.50KB
返回 下载 相关 举报
小型文件管理程序设计.doc_第1页
第1页 / 共7页
小型文件管理程序设计.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《小型文件管理程序设计.doc》由会员分享,可在线阅读,更多相关《小型文件管理程序设计.doc(7页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、* */* 包含头文件 */ #include #include #include #include /* 定义宏 */* 定义数据类型 */* 定义外部变量 */* 声明函数原型 */ int DisplayTxtFile (char *Filename, char *mode); int CopyFile (char *SourceFile, char *TargetFile); int ConnectFile (char *SourceFile, char *TargetFile); int CompareFile (char *SourceFile, char *TargetFile)

2、; int DeleteFile (char *Filename); long CountFileLength (char *Filename); int RenameFile (char *SourceFile, char *TargetFile); int Menu_Select (void); int MenuWin_Select (void);/* 函数定义开始 */ /*Function: DisplayTxtFileDescription: 文本文件显示读取指定的文本文件中的内容,逐个字符,输出显示在屏幕上。Calls: fopen(),feof(),fgetc()等函数Calle

3、d By: main() Input: 文本文件名Output: 无Return: 成功返回 0,失败返回-1Others: 必作模块 1 */ int DisplayTxtFile (char *Filename, char *mode) FILE *fp;fp = fopen(Filename, mode);if (fp = NULL)printf(“nFile Open Error!“);return -1;while (!feof(fp)putchar(fgetc(fp);fclose(fp);return 0; /*Function: CopyFile Description: 文件

4、复制将指定的文本文件中的内容,复制到另一个文本文件中。Calls: fopen(),feof(),fgetc(),fclose()等函数Called By: main()Input: 源文件名,目标文件名Output: 无Return: 成功返回 0,失败返回-1Others: 必作模块 2*/ int CopyFile (char *SourceFile, char *TargetFile) FILE *fp1, *fp2;fp1 = fopen(SourceFile, “r“);if (fp1 = NULL)printf(“nCan not open the Source File:%s

5、!“, SourceFile);return -1; fp2 = fopen(TargetFile, “w“);if (fp2 = NULL)printf(“nCan not open the Target File:%s !“, TargetFile);return -1; while (!feof(fp1)fputc(fgetc(fp1), fp2); fclose(fp1); fclose(fp2);return 0; /*Function: ConnectFileDescription: 文件连接将指定的文本文件中的内容,连接到另一个文本文件中。Calls: fopen(),feof(

6、),fgetc(),fclose()等函数Called By: main()Input: 源文件名,目标文件名Output: 无Return: 成功返回 0,失败返回-1Others: 必作模块 3 */ int ConnectFile (char *SourceFile, char *TargetFile) FILE *fp1, *fp2;fp1 = fopen(SourceFile, “r“);if (fp1 = NULL)printf(“nCan not open the Source File:%s !“, SourceFile);return -1; fp2 = fopen(Targ

7、etFile, “a“);if (fp2 = NULL)printf(“nCan not open the Target File:%s !“, TargetFile);return -1; while (!feof(fp1)fputc(fgetc(fp1), fp2); fclose(fp1); fclose(fp2);return 0; /*Function: CompareFile Description: 文本文件比较将指定的文本文件中的内容,与另一个文本文件比较。Calls: fopen(),feof(),fgetc(),fclose()等函数Called By: main()Inp

8、ut: 源文件名,目标文件名Output: 无Return: 相同则返回 0,否则返回-1Others: 必作模块 4 */ int CompareFile (char *SourceFile, char *TargetFile) FILE *fp1, *fp2;char ch1, ch2;int flag;fp1 = fopen(SourceFile, “r“);if (fp1 = NULL)printf(“nCan not open the Source File:%s !“, SourceFile);return -1; fp2 = fopen(TargetFile, “a“);if (

9、fp2 = NULL)printf(“nCan not open the Target File:%s !“, TargetFile); return -1; flag = 0;while (feof(fp1) = 0 ch2 = fgetc(fp2);if ( ch1 != ch2 )flag = -1; break;fclose(fp1); fclose(fp2);return flag; /*Function: DeleteFileDescription: 删除指定的文件先提示用户,用户选择后删除。Calls: unlink()系统函数Called By: main()Input: 文本

10、文件名Output: 无Return: 成功返回 0,失败返回-1Others: 必作模块 5 */ int DeleteFile (char *Filename) char answer2;printf(“n Are you sure(y/n)?“);scanf(“%s“, answer);if (strcmp(answer, “y“) | strcmp(answer, “Y“)if (unlink(Filename) /* 删除指定文件 */printf(“nCant not delete the filename“);return -1;elsereturn 0; /*Function:

11、 CountFileLength Description: 统计文本文件字节长度Calls: fopen(),feof(),fgetc(),fclose()等若干函数Called By: main()Input: 文本文件名Output: 无Return: 成功返回 0,失败返回-1Others: 必作模块 6 */ long CountFileLength (char *Filename) FILE *fp;long len = 0;fp = fopen(Filename, “r“);if (fp = NULL)printf(“nFile Open Error!“);return -1;wh

12、ile (!feof(fp)fgetc(fp);len+;fclose(fp);return len; /*Function: RenameFile Description: 文件改名Calls: rename()系统函数Called By: main() Input: 文本文件名Output: 无Return: 成功返回 0,失败返回-1Others: 必作模块 7 */ int RenameFile (char *SourceFile, char *TargetFile) if (rename(SourceFile,TargetFile)printf(“nCan not rename!“)

13、;return -1;elsereturn 0; /*Function: Menu_SelectDescription: 普通菜单,供用户选择Calls: gotoxy(),cprintf()等系统函数Called By: main( ) Input: 无Output: 整型数据,用户的选择Return: 整型数据,用户的选择Others: 选作模块 7 */ int Menu_Select (void)char *menu = “*MENU*“, /*定义菜单字符串数组*/“ 0. Display Text File “, /* 文本文件显示 */“ 1. Copy File “, /* 文

14、件复制 */“ 2. Connect File “, /*文件连接 */“ 3. Compare File “, /*文件内容比较 */“ 4. Delete File “, /*文件删除 */“ 5. Counter the Length of File “, /*文本文件字节数统计 */“ 6. Rename File “, /*文件更名 */“ 7. Quit“,“*“ ;char s3; /*以字符形式保存选择号*/int c,i; /*定义整形变量 */clrscr(); for(i = 0; i 7); /*选择项不在 014 之间重输*/return c; /* 主程序根据该返回

15、数调用相应的函数*/ /*Function: MenuBar_SelectDescription: 窗口式菜单,供用户选择Calls: gotoxy(),textcolor(),textbackground,window()等函数Called By: main( ) Input: 无Output: 整型数据,用户的选择Return: 整型数据,用户的选择Others: 示例模块 */ int MenuWin_Select (void) char *menu=“*MENU*“, /*定义菜单字符串数组*/“ 0. Display Text File “, /* 文本文件显示 */“ 1. Cop

16、y File “, /* 文件复制 */“ 2. Connect File “, /*文件连接 */“ 3. Compare File “, /*文件内容比较 */“ 4. Delete File “, /*文件删除 */“ 5. Counter the Length of File “, /*文本文件字节数统计 */“ 6. Rename File “, /*文件更名 */“ 7. Quit“,“*“ ;char s3; /* 以字符形式保存选择号 */int c,i; /* 定义整形变量 */gotoxy(1, 25); /* 移动光标 */printf(“press any key en

17、ter menu.n“); /* 压任一键进入主菜单 */getch(); /* 输入任一键 */clrscr(); /* 清屏幕 */gotoxy(1, 1); /* 移动光标 */textcolor(YELLOW); /* 设置文本显示颜色为黄色*/textbackground(BLUE); /* 设置背景颜色为蓝色 */gotoxy(10, 2); /* 移动光标*/putch(0xc9); /* 输出左上角边框 */for(i = 1; i 7); /*选择项不在 014 之间重输*/return c; /*返回选择项,主程序根据该数调用相应的函数*/ /* *主函数开始* */ /*

18、 *Function: MenuBar_SelectDescription: 窗口式菜单,供用户选择Calls: gotoxy(),textcolor(),textbackground,window()等函数Called By: main( ) Input: 无Output: 整型数据,用户的选择Return: 整型数据,用户的选择Others: 示例模块 * */ void main() long length;char File255;char SourceFile255;char TargetFile255;char mode5;long Filelen;clrscr(); /*清屏*/

19、for( ; ; ) /*无限循环*/switch(MenuWin_Select() /*调用主菜单函数,返回值整数作开关语句的条件*/ /*值不同,执行的函数不同,break 不能省略*/case 0:printf(“nPlease intput FileName:“);scanf(“%s“, File);strcpy(mode, “r“);DisplayTxtFile(File, mode);break;case 1:printf(“nPlease intput source FileName:“);scanf(“%s“, SourceFile);printf(“nPlease intpu

20、t Target FileName:“);scanf(“%s“, TargetFile);CopyFile(SourceFile, TargetFile);break;case 2:printf(“nPlease intput source FileName:“);scanf(“%s“, SourceFile);printf(“nPlease intput Target FileName:“);scanf(“%s“, TargetFile);ConnectFile(SourceFile, TargetFile);break;case 3:printf(“nPlease intput sourc

21、e FileName:“);scanf(“%s“, SourceFile);printf(“nPlease intput Target FileName:“);scanf(“%s“, TargetFile);CompareFile(SourceFile, TargetFile);break;case 4:printf(“nPlease intput FileName:“);scanf(“%s“, File);DeleteFile(File);break;case 5:printf(“nPlease intput FileName:“);scanf(“%s“, File);Filelen = C

22、ountFileLength(File);if (Filelen != -1) printf(“The length of file is %ld “, Filelen);elseprintf(“The file read error!“);getch();break;case 6:printf(“nPlease intput source FileName:“);scanf(“%s“, SourceFile);printf(“nPlease intput Target FileName:“);scanf(“%s“, TargetFile);RenameFile(SourceFile, TargetFile); break;case 7:exit(); /* end of switch */ /* end of while */ /* End of main */

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com