文件按字读取存储引发的一点问题

问题比较复杂:
1.我需要将二进制文件提取出来,加密后存入另一文件
2.由于原始文件按字节(fgetc)提取加密后会变成很大的数(>255),因此不能用fputc来存加密后的数据,这就不可避免的用到putwc。但是putwc会使加密文件变大(由char变成了wchar),而我又想保持源文件大小。
3.我想到了按字提取fgetwc、按字存储fputwc,但是按字提取不能很好解决文件结尾的判定,如果源文件只有“abc”三个字符,那么按字提取只能提取出来“ab”和“65535”(结尾标志),跟“ab”两个字符提取结果一样。
怎么解决上述问题?

suannai0314
鹳狸媛 楼主的这个问题解决了么?下边的答案能解决问题么?如果可以麻烦点击答案旁的√采纳哦~如果没有也可以将自己的答案贴上然后进行采纳的。
大约 6 年之前 回复

2个回答

fgetc读2次代替fgetwc,奇数字节结尾特殊处理下

fgetwc读之前先用fgetc读两次判断是否有'\n'或文件结束符,然后再把读位置退后两个字节

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问