文件操作类问题
int main(){
FILE *fp;
int i = 1314520;
if((fp = fopen("二进制测试1.txt","wb")) == NULL)
{
printf("打开文件失败\n");
exit(EXIT_FAILURE);
}
fprintf(fp,"%d\n",i);
fclose(fp);
}
代码如上,我明明以二进制(wb)的模式写入的文本,为什么当打开文本的时候还能看到写入的数据,不应该是二进制模式的吗? 本帖最后由 jackz007 于 2019-4-4 17:55 编辑
虽然你规定了二进制的写模式,可是这条语句 fprintf(fp,"%d\n" , i) ; 向文件里面写入的内容却是字符串 "4",不是二进制的数据。所以,这个文件你依然可以在文本编辑器中看到文本内容。
如果像下面这么写,再用文本编辑器打开,就无法看到文本内容了:
fwrite(& i , sizeof(i) , 1 , fp) ;
页:
[1]