fopen中mode参数 r, w, a, r+, w+, a+ 具体区别

r : 只能读, 必须存在, 可在任意位置读取

w : 只能写, 可以不存在, 必会擦掉原有内容从头写

a : 只能写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针无效

r+ : 可读可写, 必须存在, 可在任意位置读写, 读与写共用同一个指针

w+ : 可读可写, 可以不存在, 必会擦掉原有内容从头写

a+ : 可读可写, 可以不存在, 必不能修改原有内容, 只能在结尾追加写, 文件指针只对读有效 (写操作会将文件指针移动到文件尾)

r+ 和 w+ 的区别:

r+ 是可以直接写在文件上,读取和写入的光标都在文件开头。

w+ ,如果文件已经存在,将建立一个新文件覆盖原文件(很缺德啊……),并且支持读取。

a+ 和 r+:

a+只能在文件最后补充,光标在结尾。

r+可以覆盖前面的内容,光标在开头

VS2017的例子:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <stdio.h>
#include <stdarg.h>
#include <time.h> 
int write_log (FILE* pFile, const char *format, ...) 
{    
    va_list arg;    
    int done;     
    va_start (arg, format);    
    //done = vfprintf (stdout, format, arg);     
    time_t time_log = time(NULL);    
    struct tm* tm_log = localtime(&time_log);    
    fprintf(pFile, "%04d-%02d-%02d %02d:%02d:%02d ", tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday, tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec);     
    done = vfprintf (pFile, format, arg);    
    va_end (arg);     
    fflush(pFile);    
    return done;
}

int main() 
{    
    FILE* pFile = fopen("123.txt", "a+");    
    write_log(pFile, "%s %d %f\n", "is running", 10, 66.66);    
    fclose(pFile);     
    return 0;
}

VS2017文件操作之使用fopen函数总结相关推荐

  1. 第十一章 文件操作_C语言fopen函数的用法,C语言打开文件详解

    在C语言中,操作文件之前必须先打开文件:所谓"打开文件",就是让程序和文件建立连接的过程. 打开文件之后,程序可以得到文件的相关信息,例如大小.类型.权限.创建者.更新时间等.在后 ...

  2. python中f点flush是什么函数_Python文件操作及内置函数flush原理解析

    1.打开文件得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 示例文件 '你好呀' 我是于超 嗯 再见 文件操作基本流程 f=open('chenli',encoding='ut ...

  3. 【C 语言】文件操作 (fscanf、fprintf 函数)

    文章目录 一.fscanf 函数 二.fprintf 函数 一.fscanf 函数 fscanf 遇到空格 , 回车 会断开 , fgets 遇到回车会断开 ; fscanf 函数作用 : 根据数据格 ...

  4. 文件操作相关的系统函数

    重点学习:stat(fstat.lstat 获取文件属性).access(测试指定文件是否拥有某种权限).chmod(改变文件的权限).chown(改变文件的所属主和所属组).truncate(截断或 ...

  5. 【升级版学生信息管理系统员工工资信息管理系统】+文件操作+更多细节

    目录 1.功能介绍(主菜单-有什么功能) 2.结构体的定义(定义一个结构体类型) 3.主函数(如何调用分函数) 4.初始化顺序表(数组加上数组的附加信息) 5.退出程序同时保存数据到文档 6.增加员工 ...

  6. linux文件操作函数程序,linux 文件操作函数

    文件操作(Linux) 常用linux函数库中的基本函数 1. close函数,关闭文件 2. creat函数,建立文件 3. dup.dup2函数,复制文件描述词 4. fcntl函数,文件描述词操 ...

  7. c fscanf 按行读取文件_每日干货丨C语言文件操作函数

    文件操作指针 FILE *fp fp变量具有指向文件内存的功能,即可以直接操作文件 注:访问文件不只可以用指针 还可以用文件流指针和文件操作符 1.1 fopen函数 对一个文件操作时一定需要先打开文 ...

  8. C++文件操作API函数介绍

    转自 http://www.studentblog.net/m/tonycat/archives/2006/26364.html 文件的基本概念 所谓"文件"是指一组相关数据的有序 ...

  9. php文件读写用什么函数,php中常用文件操作读写函数介绍_PHP教程

    本文章介绍了下面几个常用的文件操作函数 file_get_contents 读取整个文件内容 fopen 创建和打开文件 fclose 关闭文件 fgets 读取文件一行内容 file_exists ...

最新文章

  1. TypeError: ‘instancemethod‘ object has no attribute ‘__getitem__‘
  2. python水印_用python来给图片加水印
  3. html2canvas input,html2canvas 将html绘制到canvas中 [不建议使用]
  4. 在unity2d同屏显示9千人
  5. 共享可写节包含重定位_未经许可成都街头现共享电动单车?哈啰出行:只是测试...
  6. dhl:使用return RedirectToAction()和 return view()
  7. python集合类型是一种具体的数据类型_Python3基础语法之集合类型
  8. 关于easyUI在子页面增加显示tabs的一个问题
  9. 马云:未来30年大数据时代,如何避免成为穷人?
  10. 0829双层循环嵌套
  11. POSIX 线程详解
  12. Java Thread之Sleep()使用方法总结
  13. [转]PKM2:优秀的个人知识管理工具
  14. 维基百科英文语料库下载地址
  15. 骨传导耳机靠谱吗?骨传导耳机是不是智商税?
  16. 二次函数顶点式计算机,顶点式二次函数表达式
  17. 成君忆不幸被彭剑锋言中
  18. 重写虫虫项目犯的低级错误
  19. ISO8583包[详细说明]
  20. 单片机编程软件很简单(17),Keil单片机编程软件之编译、链接

热门文章

  1. Android 告急!
  2. 中国SaaS死或生之七:死生非大事,利益最相关
  3. Consul 入门指南
  4. Java集合:List转数组互转
  5. spring 学习—spring的相关概念(01)
  6. java 克隆的作用_关于java中克隆的学习(一)
  7. 定了!2021年数据中心《能源管理师》考试,全国报名入口!
  8. 新基建数据中心如何建?附建设导则
  9. python压测接口_python的一个接口压测脚本
  10. Python绘图之matplotlib基础教程:matplotlib库图表绘制中常规设置大全(交互模式、清除原有图像、设置横坐标显示文字/旋转角度、添加图例、绘图布局自动调整、图像显示、图像暂停)