16,471
社区成员
发帖
与我相关
我的任务
分享
int keylen=strlen(key);
CString m_FilePath;
CFileDialog dlg(TRUE,L"",L"",4|2,L"所有文件(*.*)|*.*||",0,0);
int iIndex=dlg.DoModal();
if (iIndex==IDCANCEL)
{
AfxMessageBox(L"你选择了取消");
return;
}
else if (iIndex==IDOK)
{
UpdateData(TRUE);
m_FilePath = dlg.GetPathName();
UpdateData(FALSE);
}
CFile myFile(m_FilePath,CFile::modeRead);
DWORD myFileLen = myFile.GetLength();
BYTE* fileBuffer = new BYTE[myFileLen];
myFile.Read(fileBuffer,myFileLen);
myFile.Close();
for(int i=0;i<myFileLen;i++)
{
fileBuffer[i] ^= key[i%keylen];
}
CFile myFile2(m_FilePath,CFile::modeWrite);
myFile2.Write(fileBuffer,myFileLen);
myFile2.Close();
delete []fileBuffer;
AfxMessageBox(L"加密完成");