,如果写入失败返回0 Others :其它说明
*************************************************************/
int encryptAndDecodeFileByString(const char *pDestFile,
const char *pOriginalFile, const char* pwdString)
{
FILE *pfr, *pfw;
//读取
pfr = fopen(pOriginalFile, "r");
//写入
pfw = fopen(pDestFile, "w");
if (pfr == NULL || pfw == NULL)
{
fclose(pfw);
fclose(pfr);
return 0;
}
else
{
int length = getFileSize(pOriginalFile);
char *newstr = (char*)malloc(sizeof(char) * (length + 1));
int i;
for (i = 0; i < length;i++)
{
//获取一个字符
char ch = fgetc(pfr);
//不断存入字符
newstr[i] = ch;
}
//字符串处理为'\0'
newstr[length] = '\0';
//加密字符串
str2EncryptString(pwdString,newstr);
for (i = 0; i < length;i++)
{
//挨个写入字符
fputc(newstr[i], pfw);
}
}
fclose(pfr);
//关闭文件
fclose(pfw);
return -1;
}