C语言编程小问题?

通过二进制方式读取文件A,对当前文件数据进行分割处理,分割原则为奇数位置存储到文件A1.bin,偶数位置数据存储到文件A2.bin,分割完毕后,对A1,A2进行比较,同时... 通过二进制方式读取文件A,对当前文件数据进行分割处理,分割原则为奇数位置存储到文件 A1.bin,偶数位置数据存储到文件 A2.bin,分割完毕后,对 A1,A2 进行比较,同时将比较结果保存到 Log 文件 Alog.txt 中。
有没有大神交流一下思路
展开
 我来答
YZX浪子
2020-09-02 · TA获得超过110个赞
知道小有建树答主
回答量:260
采纳率:86%
帮助的人:63.9万
展开全部
分割,一读两写,先读一个字节,如果i % 2 == 0,往A2写入这个数据,否则写入A1,然后循环继续读
比较应该是两读一写,具体不太清楚怎么比较
更多追问追答
追问
能否给一些分隔和比较的具体代码的例子,比较的是每个分隔过的数据是否相等
追答

以下为部分代码

//分隔(第一个数据保存到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.......

下面是全部代码截图及运行测试(由于发一张大图会被压清晰度,所以我分开发)

悠翼嗳2249
2020-09-01
知道答主
回答量:75
采纳率:0%
帮助的人:4.9万
展开全部
前文件数据进行分割处理,分割原则为奇数位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空口无凭呀呀呀
2020-09-01 · TA获得超过133个赞
知道答主
回答量:2605
采纳率:15%
帮助的人:136万
展开全部
如果你在编程时出现了这种情况,建议你对你的编程好好检测一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丰富的那你说
2020-09-01 · TA获得超过821个赞
知道小有建树答主
回答量:1.6万
采纳率:99%
帮助的人:737万
展开全部
C语言编程小问题的话,真的可以去c语言里面,然后去变成,然后只需要把他的相应的程序软件设置完成之后就可以进行编程了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式