博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言文件函数
阅读量:7171 次
发布时间:2019-06-29

本文共 2275 字,大约阅读时间需要 7 分钟。

FILE *fp:

其中的FILE应该大写,它实际上是系统定义的一个结构,在stdio.h文件中。该结构中有文件名,文件状态,文件当前的读写信息等。
fp是指向FILE结构的指针变量,通过fp可以找到某个文件的信息结构体,然后找到该文件,对文件实施操作。

FILE *fp=fopen("文件路径及名称","打开方式"),该函数执行失败返回NULL

打开方式:r:打开一个文本文件只读,前提是文件必须存在
w:打开一个文本文件只写,若文件不存在则创建该文件
a:对一个文本文件添加
rb:打开一个二进制文件只读,前提是文件必须存在
wb:打开一个二进制文件只写,若文件不存在则创建该文件
ab:对一个二进制文件添加
r+:打开一个文本文件读/写
w+:生成一个文本文件读/写
a+:打开一个文本文件读/写
rb+:打开二进制文件读/写
wb+:生成二进制文件读/写
ab+:打开二进制文件读/写

char ch=fgetc(fp):

从文件中读取一个字符,如果到达文件末尾或者发生错误则返回EOF
fputc(ch,fp);
将字符ch写入文件中,函数执行失败返回EOF
fgets(char buffer,int size,FILE *fp)
从文件中读取一串字符到数组buffer中。当遇到换行符时把换行符保留在数组中,读入不再进行,数组以'\0'结尾
fputs(char buffer,FILE *fp);
将字符串写入文件中,函数的返回值是实际写入文件的字符个数,失败返回EOF

 

 

 

#include <stdio.h>

void rewind(FILE *fp);把文件流写入位置移至文件开头

#include <stdio.h>

int fseek(FILE *fp,long offset,int whence);
函数功能:把fp的文件读写位置指针移到指定的位置.
SEEK_SET:以距离文件开头offset的位置为新的读写位置
SEEK_CUR:以目前的读写位置往后增加offset个位移量
SEEK_END:将读写位置指向文件尾后再增加offset个位移量
函数执行成功返回0,失败返回-1;

#include <stdio.h>

long ftell(FILE *fp);用来取得文件流目前的读写位置其返回值是当前读写位置偏离文件头部的字节数.(默认包含'\0')

#include 
int main() { FILE *fp; char filename[80]; long length; printf("Input the file name:"); gets(filename); fp=fopen(filename,"rb"); if(fp==NULL) printf("file not found!/n"); else { fseek(fp,0,SEEK_END); length=ftell(fp); printf("the file length %1d bytes\n",length); fclose(fp); } return 0; }

  

 

 

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。

#include 
int main() { FILE* pFile; float buffer[] = { 2.0 , 3.0 , 8.0 }; pFile = fopen("myfile.bin" , "wb"); // 打开文件写操作 fwrite(buffer , 1 , sizeof(buffer) , pFile); // 把浮点数组写到文件 myfile.bin fclose(pFile); // 关闭文件 float read[3]; pFile = fopen("myfile.bin" , "rb"); // 重新打开文件读操作 fread(read , 1 , sizeof(read) , pFile); // 从文件中读数据 printf("%f\t%f\t%f\n", read[0], read[1], read[2]); fclose(pFile); // 关闭文件 return 0; }

  

 

include <stdio.h>

int fflush(FILE *fp);
函数说明:fflush()会强迫将缓冲区内的数据写回参数stream 指定的文件中. 如果参数stream 为NULL,fflush()会将所有打开的文件数据更新.

返回值:成功返回0, 失败返回EOF, 错误代码存于errno 中.

 

转载于:https://www.cnblogs.com/scf141592/p/5322403.html

你可能感兴趣的文章
.net 中主框架的搭建(2种方式)
查看>>
viewPager
查看>>
朴素贝叶斯python小样本实例
查看>>
[转]How to write dll
查看>>
C# For Bot Framework
查看>>
react native 增加react-native-camera
查看>>
陶哲轩实分析 习题 13.4.8
查看>>
线程和多线程(二)
查看>>
vmware共享文件夹
查看>>
关于wp-autopost不能连续采集的问题,这里有解决方案
查看>>
3.Appnium的安装
查看>>
python基础-函数02
查看>>
ListView图标大小的设置
查看>>
个人-GIT使用方法
查看>>
带缩略图焦点图插件
查看>>
T4模版引擎之生成数据库实体类
查看>>
java properties读取与设值
查看>>
IO流的登录与注册
查看>>
《JavaScript高级程序设计》笔记(1):<script>元素
查看>>
图标字体 VS 雪碧图——图标字体应用实践
查看>>