博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下库函数文件操作
阅读量:3781 次
发布时间:2019-05-22

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

知识点提炼:

  1. File 定义文件指针
  2. fopen(),
    第一个参数为文件路径
    第二个参数为文件的打开方式(r,w,a,r+,w+,a+)
    (1)r,w,a
    r为以只读的方式打开
    w以只写的方式打开,且有截断功能(即文件打开后是一个新文件),若文件不存在就新建文件
    a以只写的方式追加,若文件不存在就新建一个文件
    (2)r+,w+,a+
    功能在上述的基础上,新增为可读可写,为上述功能的增强版 
  3. fwrite()
    第一个参数为要写入文件的数据指针(如字数组名)
    第二个参数为数据的大小
    第三个参数为这个数据,输入次数
    第四个参数为文件指针
  4. fread()
    第一个参数为文件要输出的地址
    第二个参数该地址空间的大小
    第三个参数为有多少个size的数据大小
    第四个参数为输出的文件指针
    返回值为当前成
  5. fseek()
    第一参数为文件指针
    第二个参数为 偏移量
    第三个参数为将文件指针放置在何处
    (SEEK_SET),文件开头
    (SEEK_END),文件末尾
    (SEEK_CUR) ,  文件当前位置,(一般用来获取文件的大小)
    返回值为文件指针到开头的字节数
  6. fprintf()为格式化输出
    第一个参数即可以为文件指针,又可以是stdout标准输出
    printf()默认输出至stdout标准输出
    第二个参数是要输出的输出的变量
    以下为测试代码:
  7. #include 
    int main(){ FILE *stream;//定义文件指针 long len, curpos; stream=fopen("test.txt","w+");//以可读可写的方式打开文件,并且每次文件都是空的 if(stream == NULL) { printf("file not exist"); return -1; } fseek(stream,0L,SEEK_END); //将文件指针移至文件尾部,使其可以变成追加的方式,即a+ fwrite((char *)"hello!\n",sizeof("hello!\n"),1,stream);//将字符串写入,文件流中 fprintf(stream,"create\n");//以数据流的方式输出至文件中,stderr fprintf(stdout,"create\n");//输出至标准输出 if(stream==NULL) { printf("file setup fail \n");//文件创建失败 return -1; } curpos = ftell(stream);//获取文件指针的位置 //获取当前文件的长度 fseek(stream,0L,SEEK_END); len=ftell(stream); fseek(stream,curpos,SEEK_SET);//将文件指针放置在文件的开头 printf("the size of file is %ld \n",len); fclose(stream); return 0;}

    编译并测试:

    //编译gcc File_test.c  -o test//执行./test

    输出:

    createthe size of file is 15

     

 

转载地址:http://eumvn.baihongyu.com/

你可能感兴趣的文章
go部署
查看>>
配置swagger--go语言
查看>>
打印杨辉三角
查看>>
java中String类中常用方法
查看>>
flutter学习笔记:第一个APP应用
查看>>
哲学家进餐问题
查看>>
Python-Opencv学习总结(一):图像读取和获取图像特征
查看>>
实验十三:导出与导入
查看>>
第十五周.
查看>>
基于MVC模式的用户登录
查看>>
Java Swing搭建QQ登录界面
查看>>
Spring常用依赖及注解的使用
查看>>
解决Maven中资源过滤问题
查看>>
Springboot中解决Ajax请求跨域问题
查看>>
Keras软件安装
查看>>
cuda安装
查看>>
Anaconda3换源配置
查看>>
Unsafe.putOrderedXXX系列方法详解(数组赋值的第二种方式)
查看>>
javase个人垃圾复习笔记05Java StringBuffer 和 StringBuilder 类
查看>>
牛客编程题(七)
查看>>