C++文件操作,异或加密问题代码如下#include fstream#include iostreamusing namespace stdint main(i
C++文件操作,异或加密问题
代码如下
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc , char* argv[])
{
if(argc < 3) return -1;
ifstream fin(argv[1],ios::binary);
ofstream fout(argv[2],ios::binary);
while(!fin.eof())
{
char t;
fin.read(&t,sizeof(char));
fout.put(t^65);
}
fin.close();
fout.close();
return 0;
}
发现加密后的文件总会比加密前的文件多一个字节。请问为什么?谢谢各位。。。 c++ ?文件操作
[解决办法]
while(!fin.eof())
{
char t;
fin.read(&t,sizeof(char));
fout.put(t^65);
}
典型错误, 在没有读之前, 流是不会意识到EOF的.
改吧.
