#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define max(x,y) (((x)>(y))?(x):(y))
int LCS(char *str1, char *same1, int len1, char *str2, char *same2, int len2)
{
int same, i, j
int **midLCS
midLCS = (int **)malloc(sizeof(int *) * (len1 + 1))
for (i = 0i <= len1i++) {
midLCS[i] = (int *)malloc(sizeof(int) * (len2 + 1))
}
for (i = 0i <猜庆= len1i++) {
midLCS[i][0] = 0
}
for (i = 0i <= len2i++) {
midLCS[0][i] = 0
}
for (i = 1i <= len1i++)
{
for (j = 1j <= len2j++)
{
if (str1[i - 1] == str2[j - 1]) {
midLCS[i][j] = midLCS[i - 1][j - 1] + 1
}
else {
midLCS[i][j] = max(midLCS[i - 1][j], midLCS[i][j - 1])
}
}
}
for (i = len1, j = len2i >0 &&j >0)
{
if (str1[i - 1] == str2[j - 1]) {
same1[i - 1] = 1
same2[j - 1] = 1
--i
--j
}
else if (midLCS[i - 1][j] >midLCS[i][j - 1]) {
--i
}
else {
--j
}
}
same = midLCS[len1][len2]
for (i = 0i <= len1i++) {
free(midLCS[i])
}
free(midLCS)
return same
}
void show_compare(char *str, char *same, int len, FILE *fout)
{
int i, flag = 0
for (i = 0i <leni++)
{
if (str[i] == '\n') {
fprintf(fout, " <br>")
}
else if (str[i] == '\t') {
fprintf(fout, "")
}
else {
if (same[i] == 1) {
if (flag == 1) {
fprintf(fout, "穗岩握 </font>")
flag = 0
}
fputc(str[i], fout)
}
else {
if (flag == 0) {
fprintf(fout, " <font color=red>")
flag = 1
}
fputc(str[i], fout)
}
}
}
if (flag == 1)
fprintf(fout, " </font>")
}
int main()
{
int i, len1, len2
FILE *fin1, *fin2, *fout
char buf[1024]
char *str1, *str2, *same1, *same2
printf("file1: ")
scanf("%s", buf)
fin1 = fopen(buf, "rb")
if (fin1 == NULL) {
printf("%s not exist!\n", buf)
return 0
}
printf("file2: ")
scanf("%s", buf)
fin2 = fopen(buf, "rb")
if (fin2 == NULL) {
printf("%s not exist!\n", buf)
return 0
}
fout = fopen("compare.html", "w+")
fseek(fin1, 0, SEEK_END)
len1 = (int)ftell(fin1)
fseek(fin1, 0, SEEK_SET)
fseek(fin2, 0, SEEK_END)
len2 = (int)ftell(fin2)
fseek(fin2, 0, SEEK_SET)
str1 = (char *)malloc(sizeof(char) * len1)
str2 = (char *)malloc(sizeof(char) * len2)
same1 = (char *)malloc(sizeof(char) * len1)
same2 = (char *)malloc(sizeof(char) * len2)
fread(str1, 1, len1, fin1)
fread(str2, 1, len2, fin2)
LCS(str1, same1, len1, str2, same2, len2)
show_compare(str1, same1, len1, fout)
fprintf(fout, " ----------------------------------------------------------------<br>")
show_compare(str2, same2, len2, fout)
free(str1)
free(str2)
free(same1)
free(same2)
fclose(fin1)
fclose(fin2)
fclose(fout)
}
P是与颤局岁时间相关,表示该文件的公开日在本申请的申请日茄睁与优先权日之间,或其他需要核实优先权的情况x、y与内容相关。x表示该文件能单独破坏本腊简申请的新颖性或创造性。y表示该文件能与其他文件一起破坏本申请的创造性。
如下:
工具/原料:联想拯救者Y700、Windows7、word2016。
1、打开电脑,如图,打开word页面。如果所示。选择红框所示的按钮。
2、选择比较按钮,如红框所示。
3、d出了比较文档对话框哗档如图所示。
4、我们根据路径选择比较的文档。如图所示。
5、如图所示,word把两个文档的散基不同之处比较了出来,红竖线表明文档不同的地方。如图所示。我们鼠标点击红竖线,就会显示出我们怎么修改乱掘乱的内容。删除线表示修改的地方。不带删除线的暗红色字体,则是修改的新内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)