文件加密,该如何处理
文件加密
为什么生成b.txt里面是空的啊。。。。
实在不知道怎么回事。。。。
------解决思路----------------------
1)
FILE *f1=fopen("d://a.txt","w");
fputs(st1,f1);
rewind(f1);
文件没关闭,也没 flush 文件大小不确定。只怕是 0
,
2)while(feof(f1)){S;}
文件结束执行循环,而且是一直在循环,
要不执行循环体,要么死循环。
------解决思路----------------------
st1[strlen(st1)]='\n'; 这句有问题吧, 字符串以0结尾,搞个回车做什么
------解决思路----------------------
你想一下什么时候循环会推出就好了。
=============
循环体里没有操作,你循环多少次 feof(f2) 的返回值都不会发生变化的。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SIZE 1024
void code(char *s)
{
while(*s)
{
(*s)++;
s++;
}
}
int main(void)
{
FILE *f1=fopen("d://a.txt","w");
FILE *f2=fopen("c://b.txt","w");
char st1[SIZE];
char st2[SIZE];
while(1)
{
gets(st1);
if(strcmp(st1,"exit")==0)
break;
st1[strlen(st1)]='\n';
fputs(st1,f1);
}
rewind(f1);
while(feof(f1))
{
memset(st2,0,sizeof(st2));
fgets(st2,sizeof(st2),f1);
code(st2);
fputs(st2,f2);
}
fclose(f1);
fclose(f2);
return 0;
}
为什么生成b.txt里面是空的啊。。。。
实在不知道怎么回事。。。。
------解决思路----------------------
1)
FILE *f1=fopen("d://a.txt","w");
fputs(st1,f1);
rewind(f1);
文件没关闭,也没 flush 文件大小不确定。只怕是 0
,
2)while(feof(f1)){S;}
文件结束执行循环,而且是一直在循环,
要不执行循环体,要么死循环。
------解决思路----------------------
st1[strlen(st1)]='\n'; 这句有问题吧, 字符串以0结尾,搞个回车做什么
------解决思路----------------------
你想一下什么时候循环会推出就好了。
=============
循环体里没有操作,你循环多少次 feof(f2) 的返回值都不会发生变化的。