1、C语言中缺省是按照文本方式打开文件。
2、二进制文件和文本文件3、文本方式和二进制方式
(1)按照文本方式(缺省情况下)往文件中写入数据时,一旦遇到换行字符(ASCII为10),则会转换为回车-换行(ASCII为13、10)。多写入了一个字符!在读取文件时,一旦遇到回车-换行的组合(即连续的ASCII 13、10),则会转换为换行字符(ASCII为10)。(5)不管是文本文件还是二进制文件,都可以采用二进制方式或者文本方式打开,然后进行写入或者读取。但是,对于二进制文件来说,如果以文本方式读取时,可能会出现一些问题。
4、问题产生:给你一个整数,例如:98341,将这个整数保存到文件中,要求在以记事本程序打开该文件时,也显示98341。(1):
FILE *file;
file=fopen("1.txt","w");
char *p="98341";
fwrite(p,1,5,file);
fclose(file);
或者(2)FILE *file;
file=fopen("1.txt","w");
char ch[5];
ch[0]='9';
ch[1]='8';
ch[2]='3';
ch[3]='4';
ch[4]='1';
fwrite(ch,1,5,file);
fclose(file);或者(3):我们在存储时去存储“98341”这五个字符的ASCII码(字符“0”的ASCII码是48)。FILE *pFile=fopen("3.txt","w");
int i=98341;
char ch[5];
ch[0]=9+48;
ch[1]=8+48;
ch[2]=3+48;
ch[3]=4+48;
ch[4]=1+48;
fwrite(ch,1,5,pFile);
fclose(pFile);或者(4)利用itoa()函数将证书转换为字符串,然后将这个字符串写入文件。但是这种方法值涉及数字的保存,如果把数字和字符夹杂在一起,并要求以记事本打开时能看到数字,就不用itoa函数,就要将这些整数数字转换为ASCII码,然后在下写入文件。FILE *pFile=fopen("3.txt","w");
int i=98341;
char ch[5];
itoa(i,ch,10);
fwrite(ch,1,5,pFile);
fclose(pFile);
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/songshimvp1/article/details/48049135