在C语言中,对文件操作之前,首先需要打开文件,使用的函数是fopen函数,它的作用是打开文件,获取该文件的文件指针,方便后续操作。函数原型为:FILE *fopen(const char *filename, const char *mode);

可以看得出来,该函数需要两个字符串类型的参数,第一个是文件名,既要操作的文件对象。第二个是打开方式,这里的打开方式只是,对文件以何种模式打开,包括文本模式打开还是二进制打开、是读还是写还是追加等等等等,具体类型如下表,可以根据情况使用:

参数作用

r以只读方式打开文件,该文件必须存在。

r+以读/写方式打开文件,该文件必须存在。

rb+以读/写方式打开一个二进制文件,只允许读/写数据。

rt+以读/写方式打开一个文本文件,允许读和写。

w打开只写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。

w+打开可读/写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则创建该文件。

a以附加的方式打开只写文件。若文件不存在,则会创建该文件;如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF 符保留)。

a+以附加方式打开可读/写的文件。若文件不存在,则会创建该文件,如果文件存在,则写入的数据会被加到文件尾后,即文件原先的内容会被保留(EOF符不保留)。

wb以只写方式打开或新建一个二进制文件,只允许写数据。

wb+以读/写方式打开或新建一个二进制文件,允许读和写。

wt+以读/写方式打开或新建一个文本文件,允许读和写。

at+以读/写方式打开一个文本文件,允许读或在文本末追加数据。

ab+以读/写方式打开一个二进制文件,允许读或在文件末追加数据。

函数的返回值则表示打开成功后的文件指针,格式为FILE类型,是一个结构体类型,供后面使用,如果打开失败,则返回NULL

FILE结构体类型虽用不到,但可以了解,定义如下:typedef struct {

int level;           /* fill/empty level of buffer */

unsigned flags;        /* File status flags */

char fd;            /* File descriptor */

unsigned char hold;      /* Ungetc char if no buffer */

int bsize;           /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp;  /* Current active pointer */

unsigned istemp;      /* Temporary file indicator */

short token;          /* Used for validity checking */

} FILE;              /* This is the FILE object */

比如,如果我们现在想打开一个D盘根目录下的abc.dat,并且想读出该文件里的数据,那么我们可以这样写:FILE *fp;

fp=fopen("d:\\abc.dat","r")

//后面通过fp指针开始读文件

值得说明的是

1.该文件的目录是绝对路径,因此这样写,如果不写盘符比如abc.dat则表示相对路径,表示与本程序同目录下。

2.路径中的反斜杠虽然只有一个,但这里打了两个,原因在于C语言字符串中对反斜杠要当作转义字符处理,因此要用两个反斜杠才能表示一个。

3.一旦以r也就是只读的方式打开文件,后面则不允许写数据,否则会出错,一定要保持一致!

python的fopen函数_打开文件fopen函数的用法相关推荐

  1. php中fopen函数,PHP的fopen()打开文件的函数

    打开文件 fopen() 函数用于在 PHP 中打开文件. 此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件: $file=fopen("welcome.tx ...

  2. php打开文件读写函数,php中常用文件操作读写函数介绍

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

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

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

  4. matlab读文件函数程序,Matlab 文件读写函数

    MATLAB中的文件 m文件: 命令行方式程序可读性差,而且不能存储,对于复杂的问题,应编写成能存储的程序文件.包含matlab语言代码的文件称为m文件,其扩展名为m. 用户如想灵活应用matlab去 ...

  5. c语言fopen函数打不开,[讨论]用fopen函数无法打开文件有哪几种情况

    以下是引用czl在2007-11-8 15:13:23的发言: 我都改了 可是 还是不行的 我用的dev-cpp 谢谢了 你讲的很详细 真的很感谢 我用的也是 DEV-C++ 我可以 d1.dat 不 ...

  6. c语言 fopen、fwrite、fread、fclose函数(打开文件进行读写覆盖或追加)

    文章目录 fopen函数 描述 声明 参数 返回值 实例 fwrite函数 描述 声明 参数 返回值 实例 fread函数 描述 声明 参数 返回值 实例 fclose函数 描述 声明 参数 返回值 ...

  7. 文件操作之打开文件——fopen函数用法

    1.格式: FILE *fp: fp=fopen("filename.txt","r") 2.说明:第一行定义一个文件指针类型的变量fp.第二行打开一个文件, ...

  8. php file_get_contents 临时目录 fopen,php读取本地文件常用函数(fopen与file_get_contents)_php基础...

    4.我们还可以利用fopen来写文件 /** *用fopen写入文件 *@param string $filename *@param string $contents *@return boolea ...

  9. python中以只读形式打开文件的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

最新文章

  1. java迭代器创建后mutx锁,多线程编程(10) - 多线程同步之 Mutex (互斥对象)
  2. php 格式化评论量函数,深入剖析PHP中printf()函数格式化使用
  3. c#-检查USB硬件变化
  4. SMT32如何进入sleep模式
  5. X11: Linux跨网络运行XWindow程序
  6. php声明对象的关键字是,PHP面向对象this关键字!
  7. 搜索重复代码_LeetCode专题——详解搜索算法中的搜索策略和剪枝
  8. upload file more than 4MB
  9. 怎样获取linux命令帮助?
  10. 第一章 计算机系统概述 1.3 计算机的性能指标 [计算机组成原理笔记]
  11. 最长公共子上升序列(信息学奥赛一本通-T1306)
  12. C语言 结构体的初次运用
  13. 机器学习之SVM多分类
  14. SQL Server 连接查询(多表连接查询)
  15. 梦笔记2021-03-05
  16. 香橙派python编程_香橙派Orange Pi 4开发板在Ubuntu系统下使用python 控制GPIO
  17. linux查看硬盘插槽_Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
  18. 热核特征(heat kernel signature,HKS)简单解释(附可运行代码)
  19. 达内java月考_达内java5.第二次月考(附答案)..doc
  20. R语言稀疏主成分分析、因子分析、KMO检验和Bartlett球度检验分析上市公司财务指标数据...

热门文章

  1. uniapp里获取验证码
  2. 获取验证码的页面及其实现逻辑
  3. JS事件与操作元素--世纪佳缘(用户名、显示隐藏内容)--黑马程序员pink老师JS第P25-操作元素总结及作业1
  4. 读书笔记——物联网导论第3版(1)
  5. 三星手机开不了机了,一直是开机界面但是进不去
  6. 如何降低客户流失率高的问题
  7. 分享一些收集的医疗肿瘤癌症论文文献PDF
  8. c语言设置制表符参数,printf()函数的参数和制表符
  9. 2016-中国。联通移动号码归属地查询(省市代码)
  10. 安卓应用乾坤大挪移,Ubuntu上的搬运工:ARChon