宝玛科技网
您的当前位置:首页C语言中文件读写方式r 的作用,C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析...

C语言中文件读写方式r 的作用,C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析...

来源:宝玛科技网

C语言文件打开模式浅析

在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图:

打开模式

只可以读

只可以写

读写兼备

文本模式

r

w

a

r+

w+

a+

二进制模式

rb

wb

ab

rb+ (r+b)

wb+ (w+b)

ab+ (a+b)

其中,二进制模式与文本模式操作相似,只不过是以二进制流的形式读写而已,下面以文本模式为例分析:

1."r" 模式:

1.1 打开文件进行“只读”操作,即只能从文件读取内容。

1.2 若欲操作的文件不存在,则打开失败。

1.3 成功打开文件时,文件指针位于文件开头。

1.4 打开文件后,不会清空文件内原有内容。

1.5 可从文件中任意位置读取内容。

2."w" 模式:

2.1 打开文件进行“只写”操作,即只能向文件写入内容。

2.2 若欲操作的文件不存在,则新建文件。

2.3 成功打开文件时,文件指针位于文件开头。

2.4 打开文件后,会清空文件内原有的内容。

2.5 可向文件中任意位置写入内容,且进行写入操作时,会覆盖原有位置的内容。

3."a" 模式:

3.1 打开文件进行“追加”操作,即只能向文件写入内容。

3.2 若欲操作的文件不存在,则新建文件。

3.3 成功打开文件时,文件指针位于文件结尾。

3.4 打开文件后,不会清空文件内原有内容。

3.5 只能向文件末尾追加(写)内容。

4."r+"模式:

4.1 打开文件进行“读写”操作,即既可读取,又可写入。

4.2 若欲操作的文件不存在,则打开失败。

4.3 成功打开文件时,文件指针位于文件开头。

4.4 打开文件后,不会清空文件内原有内容。

4.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

5."w+"模式:

5.1 打开文件进行“读写”操作,即既可读取,又可写入。

5.2 若欲操作的文件不存在,则新建文件。

5.3 成功打开文件时,文件指针位于文件开头。

5.4 打开文件后,会清空文件内原有的内容。

5.5 无论是读取内容还是写入内容,都可在文件中任意位置进行,且进行写入操作时,会覆盖原有位置的内容。

6."a+"模式:

6.1 打开文件进行“读写”操作,即既可读取,又可写入。

6.2 若欲操作的文件不存在,则新建文件。

6.3 成功打开文件时,文件指针位于文件结尾。

6.4 打开文件后,不会清空文件内原有内容。

6.5 读取内容时,可以在任意位置进行,但写入内容时,只会追加在文件尾部。

附表格加强记忆:

打开模式

简述

若欲操作的

文件不存在

成功打开文件后

文件指针位置

是否清空

原有内容

读取位置

写入位置

r

只读

打开失败

开头

任意位置读取

不可写入

-

w

只写

新建

开头

不可读取

任意位置写入

写入时会覆盖原有位置内容

a

新建

结尾

不可读取

只能尾部写入

-

r+

读写

打开失败

开头

任意位置读取

任意位置写入

写入时会覆盖原有位置内容

w+

新建

开头

任意位置读取

任意位置写入

写入时会覆盖原有位置内容

a+

新建

结尾

任意位置读取

只能尾部写入

-

不同的打开模式对应不同的操作方式,使用时需仔细规划。

C++文件操作(输入输出、格式控制、文件打开模式、测试流状态、二进制读写)

1.向文件写数据 头文件#include ①Create an instance of ofstream(创建ofstream实例) ②Open the file w ...

C语言中文件定位函数总结

C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...

LSOF查看linux中文件打开情况

如何查看linux中文件打开情况 前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. lin ...

c语言文件打开模式

(转载) 在C语言的文件操作语法中,打开文件文件有以下12种模式,如下图: 打开模式  只可以读   只可以写  读写兼备 文本模式 r w a r+ w+ a+ 二进制模式 rb wb ab  rb ...

C语言中文件的读取和写入

在C语言中写文件 //获取文件指针 FILE *pFile = fopen("1.txt", //打开文件的名称 "w"); // 文件打开方式 如果原来有内容 ...

c语言中文件相关操作

一 .首先介绍一下数据文件的类型: 1.二进制文件(映像文件):在内存中以二进制形式存取. 2.文本文件(ascii文件):以ascii码形式存取的文件. 通俗的讲,在Mac下,你把一个文件丢进记事本 ...

Python——文件打开模式辨析

版权声明:本文系原创,转载请注明出处及链接. Python中,open()函数打开文件时打开模式如r.r+ .w+.w.a.a+有何不同 r 只能读 r+ 可读可写,不会创建不存在的文件.如果直接写文 ...

python文件打开模式&time&python第三方库

r:以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. w:打开一个文件只用于写入.如果该文件已存在则将其覆盖.如果该文件不存在,创建新文件. a:打开一个文件用于追加.如果该文件已存在 ...

C\C++中 fopen中文件打开方式的区别:

在C语言中,大家常用到fopen打开文件,准备进行写操作,再用fwrite把数据写入文件,最后用fclose关闭文件. 如以下C代码:   #include char ...

随机推荐

HuffmanTree的浅析和在C#中的算法实现

无论是在我们的开发项目中,还是在我们的日常生活中,都会较多的涉及到文件压缩.谈到文件压缩,可能会有人想问文件压缩到底是怎么实现的,实现的原理是什么,对于开发人员来说,怎么实现这样一个压缩的功能. 接下 ...

MVC4.0 利用HandleErrorAttribute和log4net实现记录异常日志功能

1.MVC4.0中HandleErrorAttribte已经帮我们处理了异常问题,当我们新建一个非空的MVC项目时候,在FilterConfig中会发现这样的代码 public class Filte ...

区分int a() 和 int a

事因 #include using namespace std; struct A { A(int) {} A() {} void fun() {}; }; int ...

Jmeter初步使用三--使用jmeter自身录制脚本

今日,小编在网上看到很多人使用badboy来录制,然后再把jmx脚本弄到Jmeter上做性能测试.这种方法在小编刚用Jmeter时也曾经用过,但是感觉太麻烦了,所以就找了下其它资料.结果,小编偶然发现 ...

Linux Shell编程(1)——shell编程简介

Shell是一个命令解释器.它不仅是操作系统内核与用户之间的绝缘层,同时也是一种功能相当强大的编程语言.一个Shell程序,通常称为脚本,它是一个由系统调用,命令工具,软件包和已编译的二进制包&quo ...

POJ 1759 Garland(二分答案)

[题目链接] http://poj.org/problem?id=1759 [题目大意] 有n个数字H,H[i]=(H[i-1]+H[i+1])/2-1,已知H[1],求最大H[n], 使得所有的H均 ...

13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法

Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令.我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的 ...

laravel的seeder数据填充

MACOS配置VIM成简单IDE傻瓜式操作

零.参考文献: https://www.jianshu.com/p/f0513d18742a 一.安照我的配置:保存文件 " Configuration file for vim &quot ...

MacOS下搭建python环境

1. 安装须知 Mac OS自身其实已经带有Python,版本为2.7.X,这个Python主要用于支持系统文件和XCode,所以我们在安装新的Python版本时候最好不要影响这部分. 这里就会出现一 ...

因篇幅问题不能全部显示,请点此查看更多更全内容