一、文件反问途径
1、文本模式
程序所见的内容和文件实际内容不同。
2、二进制模式
程序可以反问每个字节。
二、fopen()函数
1、FILE *fp;fp=fopen("文件名",“模式字符串")
2、模式字符串
"r":以读模式打开文件。
"w":以写模式打开,删除文件中的内容,如果文件不存在,则创建一个新文件。
"a":以写模式打开文件,在现有文件末尾添加内容,如果文件不存在,则创建一个新文件。
"r+":以更新文件模式打开,可以读写,文件必须存在。
"w+":以更新模式打开,可以读写,文件存在,将内容删除,如果文件不存在,则创建一个新文件。
"a+":以更新模式打开,可以读写,只能在文件末尾添加内容,如果文件不存在,则创建一个新文件。
"rb"、"wb"、"ab"、"rb+"、"r+b"、"wb+"、"w+b"、"ab+"、"a+b"
与上一个模式类似,但是是以二进制模式打开文件
三、getc()和putc()函数
1、ch=get(fp):从fp文件中获得一个字符。
2、putc(ch,fp):把字符放入fp指定文件中。
3、putc(ch,stdout):与putchar(ch)作用相同。
四、fclose()函数:fclose(fp)是关闭并更新文件。
五、文件I/O
1、fprintf()
fprintf(fp,"%s",a):把a的值写入fp文件指向的位置中。
2、scanf()
scanf(fp,"%s",a):把文件fp指向的位置的值赋给a。
3、gets()
(1)、一般输入fgets(xx,n,stdin):输入不丢弃/n,输入n-1个字符串,还有一个储存/n。
(2)、从文件中读入fgets(xx,n,fp):fp为文件指针,将fp写入xx指向的文件中的数据,以空格和回车分割。
4、fputs()
(1)、文件中写入fputs(xx,fp):将xx写入fp指向的文件中
(2)、一般输出fputs(xx,stdout):输出xx带/n
5、rewind()
rewind(fp):返回fp指向文件的开头。
六。、随机访问:fseek()和ftell()
1、fseek(fp,0L,SEEK_SET)
将指针fpd定位在离文件开头0字节处,SEEK_CUP为当前位置,SEEK_END为文件末尾。0L是字节偏移量,为long类型值。
2、ftell(fp)
返回文件当前位置到文件开始的字节数,返回值是long类型。
七、int fflush(FILE*fp)
刷新缓冲区:调用fflush()函数引起的输出缓存区中所以未写入数据发送到fp指定的输出文件。
八、二进制I/O:fread()和fwrite()
1、fwrite(&a,n,1,fp)
将地址a中n个内容上传1次到fp指向的文件中。
2、fread(&a,sizeof(doouble),10,fp)
调用10个double的值拷贝进a数组中。