C语言编程小问题?
有没有大神交流一下思路 展开
比较应该是两读一写,具体不太清楚怎么比较
能否给一些分隔和比较的具体代码的例子,比较的是每个分隔过的数据是否相等
以下为部分代码
//分隔(第一个数据保存到A1)
//fopen.....ifp读A,ofp1写A1,ofp2写A2
for (int i = 1;; ++i) {
char c = fgetc(ifp);
if (feof(ifp)) {
break;
}
fputc(c, ((i & 1) ? ofp1 : ofp2));
}
//fclose......
//比较(Alog中如果是1说明数据一样,为0说明不一样)
//fopen....ifp1读A1,ifp2读A2,ofp写Alog
for (;;) {
char c1 = fgetc(ifp1), c2 = fgetc(ifp2);
if (feof(ifp1) || feof(ifp2)) {
if (!feof(ifp1) || !feof(ifp2)) {
//如果有任何一个文件比另一个文件多一个字节,则再输出一个0
//(实际上要么一样,要么A1.bin多一个)
fputc('0', ofp);
}
break;
}
fputc(((c1 == c2) ? '1' : '0'), ofp);
}
//fclose.......
下面是全部代码截图及运行测试(由于发一张大图会被压清晰度,所以我分开发)