C语言文件操作函数的编写(六)

2015-01-22 20:57:04 · 作者: · 浏览: 90
,如果写入失败返回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;

}