#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <string.h>
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);
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;
}
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;
}
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;
}
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;
}
int DeleteFile (char *Filename)
{
char answer[2];
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;
}
}
}
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;
}
int RenameFile (char *SourceFile, char *TargetFile)
{
if (rename(SourceFile,TargetFile))
{
printf("\nCan not rename!");
return -1;
}
else
{
return 0;
}
}
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 s[3];
int c,i;
clrscr();
for(i = 0; i < 10; i++)
{
gotoxy(10, i + 1);
cprintf("%s", menu[i]);
}
gotoxy(10, 21);
do{
printf("\n Enter you choice(0~7):");
scanf("%s", s);
c = atoi(s);
}while(c < 0 || c > 7);
return c;
}
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 s[3];
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", menu[i]);
}
textbackground(BLACK);
window(1, 1, 80, 25);
gotoxy(15, 17);
do{
printf("\n Enter you choice(0~7):");
scanf("%s", s);
c = atoi(s);
} while(c < 0 || c > 7);
return c;
}
void main()
{
long length;
char File[255];
char SourceFile[255];
char TargetFile[255];
char mode[5];
long Filelen;
clrscr();
for( ; ; )
{
switch(MenuWin_Select())
{
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("\nPleas
c语言程序小型文件管理系统源代码
5星 · 超过95%的资源 需积分: 11 153 浏览量
2009-09-13
14:27:04
上传
评论 7
收藏 17KB RAR 举报
liufuduan
- 粉丝: 6
- 资源: 12
评论5