该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//返回两个文件操作是否都成功
return ( result1 && result2 );
}
//功能:将数据存储到文件内
//输入:const char * FileName----想写入数据的文件名
// :const char * Data----想写入的数据
//输出:无
//返回值:布尔型---真表示操作成功,假表示操作失败
bool WriteDataToFile(const char * FileName,const char * Data)
{
//定义文件指针
FILE * pFile;
//打开文件用于输出
pFile=fopen(FileName,"w");
//判断文件打开是否成功
if ( NULL == pFile )
{
//输出错误信息
perror(FileName);
printf("Press any key to continue...");
fflush(stdin);
getchar();
//跳转到错误处理
goto ERROR_COME;
}
//将字符串输出到文件
fputs(Data,pFile);
//判断输入文件成功否
if ( ferror(pFile) )
{
perror(FileName);
printf("Press any key to continue...");
fflush(stdin);
getchar();
goto ERROR_COME;
}
//关闭文件
fclose(pFile);
//文件成功保存
return true;
//操作失败跳转到此处
ERROR_COME:
//如果文件已打开则关闭文件
if ( pFile )
{
fclose(pFile);
}
return false;
}
//功能:将数据由文件读出
//输入:const char * FileName----想读取数据的文件名
// :const char * Data----想接收数据的地址
// :int DataSize----缓冲区长度
//输出:无
//返回值:布尔型---真表示操作成功,假表示操作失败
bool ReadDataFromFile(const char * FileName,char * Data,int DataSize)
{
//定义文件指针
FILE * pFile;
//打开文件用于输出
pFile=fopen(FileName,"r");
//判断文件打开是否成功
if ( NULL == pFile )
{
//输出错误信息
perror(FileName);
printf("Press any key to continue...");
fflush(stdin);
getchar();
//跳转到错误处理
goto ERROR_COME;
}
//将字符串输出到文件
fgets(Data,DataSize,pFile);
//判断输入文件成功否
if ( ferror(pFile) )
{
//输出错误信息
perror(FileName);
printf("Press any key to continue...");
fflush(stdin);
getchar();
goto ERROR_COME;
}
//关闭文件
fclose(pFile);
//文件成功保存
return true;
//操作失败跳转到此处
ERROR_COME:
//如果文件已打开则关闭文件
if ( pFile )
{
fclose(pFile);
}
return false;
}
//功能:比较文件(文件位置为当前程序运行的位置)
//输入:无
//输出:无
//返回:布尔型,---真表示操作成功,假表示操作失败
void CompareFile(void)
{
//两个文件名
char filename1[MAX_INPUT_NUM];
char filename2[MAX_INPUT_NUM];
//定义两个变量来保存连个文件内的字符串
char strInFile1[MAX_INPUT_NUM];
char strInFile2[MAX_INPUT_NUM];
//两个文件中的单词个数
int wordnum1=0,wordnum2=0;
//相同单词的个数
int samewordnum=0;
//显示文件的命令行参数
char cmd[MAX_INPUT_NUM];
//得到的两个单词链表
PWORDNODE list1,list2;
//置空
memset(filename1,0x0,sizeof(filename1));
memset(filename2,0x0,sizeof(filename2));
memset(strInFile1,0x0,sizeof(strInFile1));
memset(strInFile2,0x0,sizeof(strInFile2));
memset(cmd,0x0,sizeof(cmd));
fflush(stdin);
printf("输入想比较的第一个文件名(Enter first file name to compare) = ");
//调用输入函数接收输入
GetUserInput(filename1);
fflush(stdin);
printf("输入想比较的第二个文件名(Enter second file name to compare) = ");
//调用输入函数接收输入
GetUserInput(filename2);