资源简介
C语言版文件相似度对比,文本对比
数据结构C语言大作业
采用递归矩阵对比,用了结构体
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#define MAX_INT ( ( (unsigned int) (-1) ) >> 1)
#define MIN_INT MAX_INT + 1
struct compareText {
int differenceStepValue;
wchar_t * text1;
wchar_t * text2;
};
int getLength( wchar_t *str );
float similarityCalculate( wchar_t *str1int pieceLength1 wchar_t *str2 int pieceLength2char isShowMatrix);
int getMax( int num1 int num2 );
int getMin( int num1 int num2 int num3 );
void showMatrix( compareText **matrix wchar_t *str1 int len1 wchar_t *str2 int len2 );
wchar_t * getFileContent( char* path );
wchar_t * deleteOthers( wchar_t * str );
wchar_t * char2wchar( char* cp );
void del_chr( wchar_t *s wchar_t ch );
int setLogFile(char *result);
void toSimilarityCalculate(char *path1char *path2);
void toSimilarityCalculateMenu();
void toListLogMessage();
void menu();
int isFileExist(char *path);
typedef struct compareText compareText;
int main( void )
{
setlocale( LC_CTYPE “chs“ ); /* 设置中文运行环境 */
menu();
return(0);
}
/**
* 总目录菜单
*/
void menu(){
int isClear = 1;
while(1){
if(isClear == 1){
system(“cls“);
}else{
printf(“\n“);
}
int choose = -1;
printf(“输入功能序号进行操作:\n“);
printf(“1.对比两个文件的相似度\n“);
printf(“2.查看历史对比记录\n“);
printf(“3.直接退出\n“);
printf(“请输入序号:“);
fflush(stdin);
scanf(“%d“&choose);
if(choose == 1){
system(“cls“);
isClear = 0;
toSimilarityCalculateMenu();
}else if(choose == 2){
system(“cls“);
isClear = 0;
toListLogMessage();
}else if(choose == 3){
isClear = 0;
break;
}else{
system(“cls“);
isClear = 0;
printf(“请输入正确的序号!\n“);
}
}
}
/**
* 字符串相似度处理目录菜单
*/
void toSimilarityCalculateMenu(){
system(“cls“);
char choose;
char *path1 = (char*)malloc(sizeof(char) * 100);
char *path2 = (char*)malloc(sizeof(char) * 100);
printf(“请输入第一个文件的路径(目录下有测试文件text1.txt):“);
fflush(stdin);
scanf(“%s“path1);
while(isFileExist(path1) == 0){
printf(“文件不存在或不可读,请重新输入文件路径:“);
fflush(stdin);
scanf(“%s“path1);
}
printf(“请输入第二个文件的路径(目录下有测试文件text2.txt):“);
fflush(stdin);
scanf(“%s“path2);
while(isFileExist(path2) == 0){
printf(“文件不存在或不可读,请重新输入文件路径:“);
fflush(stdin);
scanf(“%s“path2);
}
printf(“\n是否开始进行相似度对比(Y/N):“);
fflush(stdin);
scanf(“%c“&choose);
while(1){
if(choose == ‘Y‘ || choose == ‘y‘){
toSimilarityCalculate(path1path2);
break;
}else if(choose == ‘N‘ || choose == ‘n‘){
break;
}else{
printf(“输入错误,请重新输入(Y/N):“);
fflush(stdin);
scanf(“%c“&choose);
continue;
}
}
}
/**
* 相似度处理计算流程
*/
void toSimilarityCalculate(char *path1char *path2){
char choose = ‘n‘;
printf(“〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n“);
printf(“正在进行文件相似度对比...\n“);
Sleep(300);
printf(“正在获取第一个文件(%s)的内容...\n“path1);
Sleep(1000);
wchar_t
相关资源
- C语言程序设计—学生学籍信息管理系
- 湖南大学经典C语言上机150道编程题
- 从C语言转C++简明教程_v5.3.zip
- C语言湖南大学150道基础练习题答案
- 用C语言实现polyfit函数
- C语言课程设计小学生四则运算
- DES加密解密算法的C语言实现
- 数据结构c语言一元多项式的表示相加
- c语言通讯录链表文件读写
- C语言解八数码问题
- 编译原理实习 C语言小子程序 南京工
- 微机原理交通灯控制系统设计C语言实
- C语言基于socket多人聊天
- c语言实现汇编器和简单的模拟器
- 基于霍尔传感器的小车测速仪(c语言
- 拉格朗日插值法c语言版
- 标准C语言程序设计第五版部分习题答
- io多路复用c语言版简单http服务器dem
- C语言图书管理系统源代码
- 超车模拟程序,可用于研究车流量
- STM32驱动MCP3421 C语言程序
- c语言读取bmp文件266437
- PCM 8位文件提取PCM采样的C语言代码
- 奔跑的火柴人
- C# C语言分别与labview调用DLL范例
- IEEE30节点系统潮流计算C程序
- 英飞凌BMS解决方案C语言程序源码及使
- C语言仓库管理系统
- 文本编辑器C代码.
- C语言编写Socket编写进程间传文件
评论
共有 条评论