📄 changeplace.cpp
字号:
#include "StdAfx.h"
#include ".\changeplace.h"
CChangePlace::CChangePlace(void)
{
}
CChangePlace::~CChangePlace(void)
{
}
int CChangePlace::EncrypChgPl(int hang,int lie,CString file)
{
CString str_path=file;
int ii=str_path.ReverseFind('.');
CString str_newfile=str_path.Left(ii);
CString str_curfile=str_newfile+"enc.txt";
CFile f_cur,f_enc;
CFileException ex;
// open the source file for reading
if (!f_cur.Open(str_path,
CFile::modeRead , &ex))
{
TCHAR szError[1024];
ex.GetErrorMessage(szError, 1024);
}
if (!f_enc.Open(str_curfile,
CFile::modeCreate|CFile::modeWrite , &ex))
{
TCHAR szError[1024];
ex.GetErrorMessage(szError, 1024);
}
ULONGLONG l_leng=f_cur.GetLength();
int i_block=hang*lie;
unsigned char buf[81];
unsigned char bufenc[81];
//CByteArray
UINT n;
for(ULONGLONG i=0;i<=l_leng/i_block;i++)
{
n=f_cur.Read(buf,i_block);
if(n<i_block)
{
for(int ii=n;ii<i_block;ii++)
buf[ii]=' ';
// memcpy(bufenc,buf,81);
// f_enc.Write(bufenc,n);
// break;
}
//else
{
for(int ii=0;ii<lie;ii++)
for(int jj=0;jj<hang;jj++)
bufenc[ii*hang+jj]=buf[jj*lie+ii];
f_enc.Write(bufenc,i_block);
}
//m_MINGWEN=buf;
// f_enc.Write(bufenc,n);
//m_MIWEN
if((i+1)*i_block==l_leng)
break;
}
f_cur.Close();
f_enc.Close();
return 1;
}
int CChangePlace::DecrypChgPl(int hang,int lie,CString file)
{
CString str_path=file;
int ii=str_path.ReverseFind('.');
CString str_newfile=str_path.Left(ii);
CString str_curfile=str_newfile+"dec.txt";
CFile f_cur,f_enc;
CFileException ex;
// open the source file for reading
if (!f_cur.Open(str_path,
CFile::modeRead , &ex))
{
TCHAR szError[1024];
ex.GetErrorMessage(szError, 1024);
}
if (!f_enc.Open(str_curfile,
CFile::modeCreate|CFile::modeWrite , &ex))
{
TCHAR szError[1024];
ex.GetErrorMessage(szError, 1024);
}
ULONGLONG l_leng=f_cur.GetLength();
int i_block=hang*lie;
unsigned char buf[81];
unsigned char bufenc[81];
//CByteArray
UINT n;
for(ULONGLONG i=0;i<=l_leng/i_block;i++)
{
n=f_cur.Read(buf,i_block);
if(n<i_block)
{
for(int ii=n;ii<i_block;ii++)
buf[ii]=' ';
// memcpy(bufenc,buf,81);
// f_enc.Write(bufenc,n);
// break;
}
//else
//{
for(int ii=0;ii<hang;ii++)
for(int jj=0;jj<lie;jj++)
bufenc[ii*lie+jj]=buf[jj*hang+ii];
f_enc.Write(bufenc,i_block);
//}
//m_MINGWEN=buf;
// f_enc.Write(bufenc,n);
//m_MIWEN
if((i+1)*i_block==l_leng)
break;
}
f_cur.Close();
f_enc.Close();
return 1;
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -