C++テキストファイルの暗号化
引用:テキストファイルとは、手帳で開くことができるファイル、通常のtxtテキスト、HTMLテキストBATバッチファイルを指す.wordドキュメントは含まれません.
ここでは、fgetc()関数でファイルから1文字ずつ読み出すが、fputc()関数では、ファイルに1文字ずつ書き込むことができ、この特性を利用して簡単なテキスト暗号化器を記述することが考えられる.
ここで取得する実行可能ファイルの場所は、実行可能ファイルとテキストを同じディレクトリの下に置くたびに、ファイルを暗号化するたびに自動的にテキストを削除し、新しい暗号化されたテキストに変換する.
Tips: strcat(strTempBuff, "\\"); ここでは「\」とは、反対のスラッシュを意味します.
ここでは、fgetc()関数でファイルから1文字ずつ読み出すが、fputc()関数では、ファイルに1文字ずつ書き込むことができ、この特性を利用して簡単なテキスト暗号化器を記述することが考えられる.
ここで取得する実行可能ファイルの場所は、実行可能ファイルとテキストを同じディレクトリの下に置くたびに、ファイルを暗号化するたびに自動的にテキストを削除し、新しい暗号化されたテキストに変換する.
#include "stdio.h"
#include <stdlib.h>
#include <Windows.h>
#include "string.h"
int main()
{
FILE *fp;
FILE *temp;
char ch;
char strFileName[30];
char strTempBuff[256];
printf("Please Input File Name:");
gets(strFileName);
strFileName[29] = '\0';
//GetModuleFileName(NULL,strTempBuff,sizeof(strTempBuff));
GetCurrentDirectory(250,strTempBuff); //
strcat(strTempBuff, "\\" ); // "\\" \
strcat(strTempBuff,strFileName);
//
if ((fp = fopen(strTempBuff,"rb+")) == NULL)
{
printf("Open File %s Error!
",strFileName);
return -1;//
}
//
if ((temp = fopen("TempFile.pyp","wb+")) ==NULL)
{
printf("Create Tempoary File Error!
");
return -1;
}
//feof
while(!feof(fp))
{
ch = fgetc(fp);
if ((int)ch!= -1&&(int)ch!= 0)
{
ch =~ch;
fputc(ch,temp);
}
}
fclose(temp);
fclose(fp);
//
sprintf(strTempBuff,"del %s",strFileName);
system(strTempBuff);
//
sprintf(strTempBuff,"ren TempFile.pyq %s",strFileName);
system(strTempBuff);
printf("success!
");
return 0;
}
Tips: strcat(strTempBuff, "\\"); ここでは「\」とは、反対のスラッシュを意味します.