1.函数 fopen。getc,putc,exit,fclose,fprintf,fscanf,fgets,fputs,rewind()? fseek,ftell,fflush,fgetpos,fsetpos,feof,ferror,ungetc,setvbuf,fread,fwrite.
2.如何使用C的表中IO函数处理文件。
3.文本模式和二级制模式:文本格式和二进制格式,缓冲和非缓冲IO。
4.使用既可以顺序存取文件又可以随机存取文件的函数。
1.文件:磁盘上的一段命名的存储区。
C中将文件看成是连续的字节序列。每一个字节都可以单独的读取。
c提供了两种视图:文本视图和 二进制视图。
2.IO级别
标准输入输出:大多使用键盘:使用get char,gets,scanf进行du'q读取。putchar,puts,printf 输出。
命令行参数的输入和输出。
return和exit的区别。
3.fopen函数。
fopen(“文件绝对路径或者相对路径”,“code”)
code:
"r": 打开一个文件,可以读取文件内容
“w”:打开一个文件,清空之后 -》可以写入文件。如果不存在文件需要先创建。
“a”:打开一个文件,在文件末尾追加内容,如果不存在,创建。
“r+”:打开一个文件,进行更新,读取或者写入。
“w+”:打开一个文件,清空之后对其 更新,读取和写入,不存在则创建。
“a+”:打开一个文件,更新,读取和写入。追加内容,不存在则创建。
“rb,wb,ab,ab+,a+b,wb+,w+b,ab+,a+b”类同,只是以二进制的形式读取文件。
3.getc和putc函数:需要告知getc和putc函数他们所使用的文件。
和get char,put char非常类似:bu't不需要告知使用什么文件。
举例如下:
ch = get char() == ch getc(fp);
put char(ch) == putc(ch,stdout);
putc(ch,fpout):将ch写入flout制定的文件中
使用putc函数很容易将屏幕输出改为文件输出。
4.文件结尾:尝试读入字符的时候发现已经到了文件结尾,getc函数就会返回一个特殊值EOF。 避免读空文件,进入入口循环。dowhile。
5.fclose函数:
if(fclose(fp)!= 0)
printf();
6.标准文件指针。
7.文件IO:fprintf,scanf,fgets,fputs。
1)fprintf,fscanf 和rewind 的搭配使用。
rewind():回到文件的开始处,便于进行读写。
8.fgets和fputs函数
fgets(char* buf,MAX,fp) MAX:表示可输入字符串的最大地址。
fputs()
9.gets和fgets
fgets()函数可以防止内存溢出。
顺序访问
=====
随机访问
10.随机读取:fseek和ftell函数。
fseek函数允许你想对待数组那样对待一个文件,fopen打开的文件直接移动到任意字节出。
int fseek( FILE *stream, long offset, int origin ); 成功返回0,否则返回-1.
seek(fp,0L,seek_END);//定位到文件结尾处。
SEEK_SET: 文件开头
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
ftell():返回当前文件位置,也就是说返回FILE指针当前位置。
long ftell(FILE *fp);
putchar('\n');
fclose(fp);
return 0 ;
}
11.fseek和ftell如何工作。
ftell 为long类型,返回文件的当前位置。
12.其他的标准io函数
13.二进制IO:fread和fwrite函数。:存取没有数字和字符串的形式转换。
1)size_t write函数
size_t fwrite(const void restrict ptr,size_t size,size_t nmemb,FILE* restrict fp);
const void restrict ptr: 要写入的数据块的地址。
,size_t size:要写入的数据块的大小
size_t nmemb:数据块的数目
FILE* restrict fp: 指定要写入的文件。
char buffer[256];
fwrite(buffer,256,1,fp);
将256字节大小的数据块从缓冲区写入到文件。
2)size_t fread函数
size_t fread(void * restrict ptr,size_t size,size_t nmemb,FILE * restrict fp);
ptr:要读入的文件数据的内存存储地址。
fp:要读入的文件。
14. int feof(FILE* fp)和 int ferror(FILE* fp)函数。
int feof(FILE* fp):文件到达末尾
int ferror(FILE* fp):文件出现了错误。