fopen

FILE * fopen ( const char * filename, const char * mode );
参数 描述
filename C字符串,文件名
mode
mode 描述
r" read: Open file for input operations. The file must exist.
“w” write: 创建新文件,如果已存在,则覆盖
“a” append: 追加,如果文件不存在,则创建.光标在末尾,忽略fseek, fsetpos, rewind
“r+” read/update: Open a file for update (both for input and output). The file must exist.
“w+” write/update: 创建新文件,如果已存在,则覆盖
“a+” append/update: Open a file for update (both for input and output) with all output operations writing data at the end of the file. Repositioning operations (fseek, fsetpos, rewind) affects the next input operations, but output operations move the position back to the end of file. The file is created if it does not exist.
  1. mode:使用b来处理二进制文件,如"rb",“wb”,“ab”,“r+b”,“w+b”
  2. mode:C2011中加了’x’,来确认文件是否存在,而不是直接覆盖文件
  3. mode:"+",文件stream在写后的读操作,会先调用flushed(`fflush)或repositioned((fseek, fsetpos, rewind)
  4. mode:"+",读后的写操作,需要先调用fseek, fsetpos, rewind

例子:

#pragma warning(disable:4996)#include<stdio.h>
#include<stdlib.h>int main()
{FILE * pFile;pFile = fopen("test.txt", "w");fputs("fopen example", pFile);fclose(pFile);return 0;
}

fclose

  1. 关闭文件,在之前刷新缓冲区
参数 描述
stream FILE object
返回 描述
成功 返回0
失败 EOF(-1)

freopen

  1. 重定向已经打开的流
FILE *freopen(const char *filename, const char *mode, FILE *stream)
参数 描述
filename C字符串,要打开的文件名
mode C字符串
stream FILE指针,要被重新打开的流
#pragma warning(disable:4996)#include<stdio.h>
#include<stdlib.h>int main()
{FILE *fp;fp = freopen("test.txt", "w", stdout);printf("%s\n","将标准输出的流重定向到文件"); //printf本应该打印在控制台,现在写入了文件fclose(fp);
}

参考:
http://www.gnu.org/software/libc/manual/html_node/I_002fO-on-Streams.html#I_002fO-on-Streams

C语言 FileStreaming fopenfclose相关推荐

  1. C语言 FileStreaming(文件流)

    基础 stdio.h POSIX 国际组织来规定接口标准(不同的软件系统linux或win来加入这个标准) gun有具体的实现(gun就是unix系统C语言实现者) macros(库变量) 宏 描述 ...

  2. C语言 FileStreaming buffer

    setbuf void setbuf ( FILE * stream, char * buffer ); Set stream buffer 设置文件描述符的缓冲区大小 stream buffer是一 ...

  3. C语言 FileStreaming fseek

    方法 描述 fgetpos Get current position in stream (function ) fsetpos Set position indicator of stream (f ...

  4. C语言 FileStreaming fwritefread

    格式化IO 方法 描述 fprintf Write formatted data to stream (function ) 向文件格式化写入 fscanf Read formatted data f ...

  5. C语言 FileStreaming 键盘与屏幕IO

    scanf scanf()第一个参数是一个都带有格式的控制串 .第二个参数是地址(address). 从键盘输入一切数据(数字.字母,还是空格.回车.Tab)都会放入缓冲区(队列),按回车后读取缓冲区 ...

  6. 【C++ 语言】文件操作 ( fopen | fprintf | fscanf | fgets | fputc | fgetc | ofstream | ifstream )

    文章目录 I C 函数 fopen 打开文件 II C 函数 fprintf 写出文件 III C 函数 fscanf 读取文件 ( 遇到空格换行结束) IV C 函数 fgets 读取文件 ( 遇到 ...

  7. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  8. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  9. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

最新文章

  1. VC中DDX/DDV自定义
  2. 文本文件如何在其他地方打开
  3. Python:每日一题001
  4. Vue学习(组件传参)-学习笔记
  5. MongoDB学习之在Linux下安装MongoDB
  6. PHP实现8进制转10进制,php 实现进制相互转换
  7. 恢复rm删除的文件(ext3
  8. Nodejs学习笔记(十二)--- 定时任务(node-schedule)
  9. 010 editor 应用templates分析ELF和dex文件
  10. python电化学cv曲线怎么画_cv曲线(电化学cv曲线分析)
  11. jq追加html点击事件,jq增加点击事件 Jquery为DIV添加点击事件
  12. 美国大选投票系统服务器 在法兰克福,网络投票处理方法,装置及服务器 Internet voting processing method, device and server...
  13. 随机搜索 /爬山法/模拟退火/遗传算法
  14. 2022年下半年网络工程师上午真题及答案解析
  15. 嵌入式硬件 软件测试,嵌入式系统软硬件功能测试方法及性能评估研究
  16. C4.5决策树预测销量
  17. java反射类型转换_Java反射探索研究(转)
  18. 九龙证券|基金独门重仓股揭秘,多只超级大牛股浮现
  19. 开启智能生活新时代 河北省智慧社区建设从各个击破
  20. Python与Pycharm安装包

热门文章

  1. c语言分治算法之归并排序,分治算法之归并排序
  2. Python+Matplotlib绘制带误差线的柱状图
  3. 在Python中执行JavaScript代码并进行数据交换
  4. 一秒点击手机屏幕次数_抓住夏天的尾巴|与自动点击评论器邂逅一次
  5. fragment中文网_Android使用Fragment打造万能页面切换框架
  6. C语言 传值和传指针的区别
  7. 13款宝马x5质量到底怎么样_新款宝马X5和奔驰GLE450谁更强?
  8. 建行计算机招聘考试考什么,银行招聘考试考什么
  9. cpu占用高 mongo_排查MongoDB CPU使用率高的问题
  10. html页面跨域提交数据,前端跨域的整理