小型文件管理程序设计_第1页
小型文件管理程序设计_第2页
小型文件管理程序设计_第3页
小型文件管理程序设计_第4页
小型文件管理程序设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*/* 包含头文件 */#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);int DeleteFile (char *Filename);long CountFileLength (char *Filename);int RenameFile (char *SourceFile, char *TargetFile);int Menu_Select (void);int MenuWin_Select (void);/* 函数定义开始 */* Function: DisplayTxtFile Description: 文本文件显示读取指定的文本文件中的内容,逐个字符,输出显示在屏幕上。 Calls: fopen(),feof(),fgetc()等函数 Called By: main() Input: 文本文件名 Output: 无 Return: 成功返回0,失败返回-1 Others: 必作模块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: 文件复制将指定的文本文件中的内容,复制到另一个文本文件中。 Calls: fopen(),feof(),fgetc(),fclose()等函数 Called By: main() Input: 源文件名,目标文件名 Output: 无 Return: 成功返回0,失败返回-1 Others: 必作模块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 !, 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: ConnectFile Description: 文件连接将指定的文本文件中的内容,连接到另一个文本文件中。 Calls: fopen(),feof(),fgetc(),fclose()等函数 Called By: main() Input: 源文件名,目标文件名 Output: 无 Return: 成功返回0,失败返回-1 Others: 必作模块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(TargetFile, 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() Input: 源文件名,目标文件名 Output: 无 Return: 相同则返回0,否则返回-1 Others: 必作模块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 (fp2 = NULL) printf(nCan not open the Target File:%s !, TargetFile); return -1; flag = 0; while (feof(fp1) = 0 & feof(fp2) = 0) ch1 = fgetc(fp1); ch2 = fgetc(fp2); if ( ch1 != ch2 ) flag = -1; break; fclose(fp1); fclose(fp2); return flag;/* Function: DeleteFile Description: 删除指定的文件先提示用户,用户选择后删除。 Calls: unlink()系统函数 Called By: main() Input: 文本文件名 Output: 无 Return: 成功返回0,失败返回-1 Others: 必作模块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; else return 0; /* Function: CountFileLength Description: 统计文本文件字节长度 Calls: fopen(),feof(),fgetc(),fclose()等若干函数 Called By: main() Input: 文本文件名 Output: 无 Return: 成功返回0,失败返回-1 Others: 必作模块6*/long CountFileLength (char *Filename) FILE *fp; long len = 0; fp = fopen(Filename, r); if (fp = NULL) printf(nFile Open Error!); return -1; while (!feof(fp) fgetc(fp); len+; fclose(fp); return len;/* Function: RenameFile Description: 文件改名 Calls: rename()系统函数 Called By: main() Input: 文本文件名 Output: 无 Return: 成功返回0,失败返回-1 Others: 必作模块7*/int RenameFile (char *SourceFile, char *TargetFile) if (rename(SourceFile,TargetFile) printf(nCan not rename!); return -1; else return 0; /* Function: Menu_Select Description: 普通菜单,供用户选择 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 , /* 文件复制 */ 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 10; i+) /*输出主菜单数组 */ gotoxy(10, i + 1); cprintf(%s, menui); gotoxy(10, 21); /*移动光标*/ do printf(n Enter you choice(07):); /*在菜单窗口外显示提示信息*/ scanf(%s, s); /*输入选择项*/ c = atoi(s); /*将输入的字符串转化为整形数*/ while(c 7); /*选择项不在014之间重输*/ return c; /* 主程序根据该返回数调用相应的函数*/* Function: MenuBar_Select Description: 窗口式菜单,供用户选择 Calls: gotoxy(),textcolor(),textbackground,window()等函数 Called By: main( ) Input: 无 Output: 整型数据,用户的选择 Return: 整型数据,用户的选择 Others: 示例模块*/int MenuWin_Select (void) char *menu=*MENU*, /*定义菜单字符串数组*/ 0. Display Text File , /* 文本文件显示 */ 1. Copy 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 enter menu.n); /* 压任一键进入主菜单 */ getch(); /* 输入任一键 */ clrscr(); /* 清屏幕 */ gotoxy(1, 1); /* 移动光标 */ textcolor(YELLOW); /* 设置文本显示颜色为黄色*/ textbackground(BLUE); /* 设置背景颜色为蓝色 */ gotoxy(10, 2); /* 移动光标*/ putch(0xc9); /* 输出左上角边框 */ for(i = 1; i 54; i+) putch(0xcd); /* 输出上边框水平线 */ putch(0xbb); /* 输出右上角边框 */ for(i = 3; i 14; i+) gotoxy(10, i); putch(0xba); /* 输出左垂直线*/ gotoxy(64, i); putch(0xba); /*输出右垂直线*/ gotoxy(10, 14); putch(0xc8); /*输出左上角边框*/ for(i = 1; i 54; i+) putch(0xcd); /*输出下边框水平线*/ putch(0xbc); /*输出右下角边框*/ window(11, 3, 63, 13); /* 制作显示菜单的窗口,大小根据菜单条数设计*/ clrscr(); /*清屏*/ for(i = 0; i 10; i+) /*输出主菜单数组*/ gotoxy(10, i+1); cprintf(%s, menui); textbackground(BLACK); /*设置背景颜色为黑色*/ window(1, 1, 80, 25); /*恢复原窗口大小*/ gotoxy(15, 17); /*移动光标*/ do printf(n Enter you choice(07):); /*在菜单窗口外显示提示信息*/ scanf(%s, s); /*输入选择项*/ c = atoi(s); /*将输入的字符串转化为整形数*/ while(c 7); /*选择项不在014之间重输*/ return c; /*返回选择项,主程序根据该数调用相应的函数*/* *主函数开始* */* * Function: MenuBar_Select Description: 窗口式菜单,供用户选择 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(); /*清屏*/ 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 intput 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论