#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *f_1;
char ch,fname[]="1.txt";
if(!(f_1=fopen(fname,"rb"))) //判断文件是否成功打开
{
printf("打开文件失败!");
exit (1);
}
//读写
while(!(feof(f_1)))
{
ch=fgetc(f_1);
fputc(ch+1,f_1-1);
}
fclose(f_1);
}
如上,我是想将1.txt中的文字都加密(通过fputc(ch+1,f_1-1)),密码就是1了。可是经测试发现,f_1,是永远不变的,所以,f_1-1,肯定错了。用fseek(f_1,1L,1); 好像也不行,请教如何解决,请详细说明 f_1 和 文件当前位置指针 是否是同一个量,它们之间的区别,谢谢。
fputc(ch+1,f_1-1);
f_1-1 是错误的用法, 文件指针你不能随便 + -
你应该用 fread fwrite这样的接口. 而且你文件打开的方式也应该是 wb 支持写入操作的
你要弄清楚f_1的含义, 它并不指向文件的内容, 它只是你访问文件的句柄~追问
f_1-1 是错误的用法, 文件指针你不能随便 + -
你应该用 fread fwrite这样的接口. 而且你文件打开的方式也应该是 wb 支持写入操作的
你要弄清楚f_1的含义, 它并不指向文件的内容, 它只是你访问文件的句柄~追问
非常感谢,你的f_1是句柄,让我豁然开朗,想要的就是这句话。另外,fread接口好像只能读写字符数组,而我是读取文件,难道我理解错了。
温馨提示:答案为网友推荐,仅供参考