文件类型指针 FILE *fp – 文本文件:r只读、w只写 二进制文件:rb只读、wb只写
*fp = fopen(“文件名”,“方式”);
如:fp = fopen("file1.txt" , "r"); –
*fp = fclose(“文件名”);
如:fclose(fp);–
必须加: if(fp == NULL) { perror(“打开文件时发生错误”); exit(1); 或 return(-1); }
fputc(int char, FILE *stream) : 把参数 char 指定的字符(一个无符号字符)写入到给定流 stream中,并把位置标识符往前移动。 fputc("这是 C 语言。\n",fp);–顺序写入
fgetc(FILE *stream) : 从给定流 stream获取下一个字符(一个无符号字符),并把位置标识符往前移动。 int c = fgetc(fp);–顺序读取
rewind(FILE *stream) : 设置文件位置为给定流 stream 的文件的开头。 rewind(fp);–
fscanf(FILE *stream, const char *format, …) : 从给定流 stream 读取格式化输入。 如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。 fscanf(fp, "%s %s %s %d", str1, str2, str3, &year); --读取
注:EOF 是end of file的缩写。 “!=EOF” 表示文件还没有结束,“=EOF” 表示到文件末尾了。 你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF
fprintf(FILE *stream, const char *format, …) 发送格式化输出到流 stream 中。 fprintf(fp, "%s %s %s %d", "We", "are", "in", 2014);–写入
打开文件,就是建立文件缓冲区。关闭文件,就是要强制 地把文件缓冲区中的内容写到磁盘文件中。
出现了相应的文本文件:
文件内容 : 这是 C 语言。 这是一种系统程序设计语言。
file.txt文件中内容 : We are in 2014 -
将创建文件 file.txt,它的内容: We are in 2014 -