各位帮帮忙看下,为什么writebuffer总往文件里写入第一次读取的内容?
本人写了一段代码用byte【8】数组做缓冲读写文件,但总是写入第一次读取的内容(即writebuffer内容总是第一次循环的结果),能否帮帮忙看哪里出问题了?XOR函数和Encode函数返回类型均为byte【8】数组,将Encode函数中temp改成readbuffer后(相当于直接跳过XOR函数),文件写入正常,XOR函数如下:
各位帮帮忙,谢谢! --------------------编程问答-------------------- 不知道你想做什么,思路混乱。 --------------------编程问答-------------------- 通常要这样写
int len=0;readBuffer中只有前面len个字节是有效的,你不能把后边多余的字节也当作有效内容去参与....的处理中! --------------------编程问答--------------------
while((len=fin.Read(readBuffer,0,readBuffer.Length))>0)
{
.....
}
1.将前一次读取的明文块和当前读取明文块异或
2.将1中的结果用一个加密函数加密
3.写入加密文件
现在如果去掉第一步直接将当前读取的明文块加密执行成功,但加入第一步后writebuffer老往文件中写入第一循环的结果。比如明文头部为:abcdegfghijklmn...则老是写入abcdefghabcdefghabcdefgh...的密文 --------------------编程问答--------------------
谢谢您的回复,但问题没解决...请帮忙看一下3L更进一步的说明,谢谢! --------------------编程问答-------------------- 我把每次异或的内容改成一个固定byte数组写入又正常了,到底怎么回事呀?
补充:.NET技术 , C#