fopen中r+和w+的区别

r+: Open for reading and writing.  The stream is positioned  at  the beginning of the file.

w+:Open for reading and writing.  The file is created  if  it  does not  exist, otherwise it is truncated.  The stream is positioned at the beginning of the file.

r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容;

w+具有读写属性,写的时候如果文件存在,会被清空,从头开始写。

r 打开只读文件,该文件必须存在。 
r+ 打开可读写的文件,该文件必须存在。 
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。

时间: 2024-11-29 02:42:34

fopen中r+和w+的区别的相关文章

python中%r和%s的区别

%r用rper()方法处理对象 %s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象. 例一: print "I am %d years old." % 22 print "I am %s years old." % 22 print "I am %r years old." % 22 I am 22 years old. I am 22 years old. I am 22 years old. 另外一些情况

把数据写入txt中 open函数中 a与w的区别

a: 打开一个文件用于追加.如果该文件已存在,文件指针将会放在文件的结尾. 也就是说,新的内容将会被写入到已有内容之后.如果该文件不存在,创建新文件进行写入. w:  打开一个文件只用于写入.如果该文件已存在则打开文件,并从开头开始编辑, 即原有内容会被删除.如果该文件不存在,创建新文件. 简单说a类似于append,每次运行在原有基础上增加,而w是覆盖. open模式设为a运行两次 代码: 1 filename = 'test.txt' 2 file = open(filename, 'a')

Python中文件读写之 w+ 与 r+ 到底有啥区别?

其实r 是只读,只能读不能写,这是很明确的,但是r+是可读写,变成r+后还没太明白到底加了什么,还是照样写不了,有没有这样的体验呢,如下代码,只读时 f = open("test.txt", 'r', encoding="utf-8") # 文件句柄 f.write("we are heros\n") data = f.read() print(data, type(data)) f.close() 这样的话报错是明显的:io.Unsupport

fopen() r+、w+属性详解

r+具有读写属性,从文件头开始写,保留原文件中没有被覆盖的内容: w+具有读写属性,写的时候如果文件存在,会被清空,从头开始写. r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在. w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失.若文件不存在则建立该文件. a 以附加的方式打开只写文件.若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,

S?Q?L? ?S?e?r?v?e?r?中??的?P?W?D?E?N?C?R?Y?P?T?与?P?W?D?C?O?M?P?A?R?E?函?数

前幾天有個客戶的網站出問題(不是我們開發的),請我們幫他看,主要的問題是他們的網站會員在進行查詢密碼時,會員收到信的時候在密碼的欄位竟然會出現 System.Binary[] 字樣.而我進去資料庫中查看時,發現該會員資料表中的密碼欄位是 varbinary 格式,而我當然不知道他儲存的是什麼值,進而查看他們資料庫中的 Stored Procedure 對於密碼欄位的操作方法,這才發現他們用來驗證會員是否正確登入的方法是使用 PWDCOMPARE 函數. 由於我沒看過這個函數,便上網去查看看,發現

python文件类型r,w,a,r+,w+,a+区别辨析

主要分成三大类: r 和 r+     "读"功能 r  只读 r+ 读写(先读后写) 辨析:对于r,只有读取功能,利用光标的移动,可以选择要读取的内容. 对于r+,同时具有读和写的功能,默认光标一开始停在开头,当进行一个操作后(无论是读还是写)光标将自动移动到末尾.写的功能如果在末尾就是添加;如果在原文本中就是修改!!! w 和 w+   "写"功能 w 只写 w+       写读(先写后读) 辨析:两个都有写的功能,只要进行操作,一定是先自动清空,再写入,慎用

Linux中权限(r、w、x)对于目录与文件的意义

一.权限对于目录的意义 1.首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方. 2.r权限:拥有此权限表示可以读取目录结构列表,也就是说可以查看目录下的文件名和子目录名,注意:仅仅指的是名字. 3.w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字.具体如下: 1)在该目录下新建新的文件或子目录. 2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,

PHP中exit()与die()的区别

先思考一个问题: 如下代码会向页面显示什么? <?php die(123); ?> 曾经有段时间我一直认为 页面会显示 123,但实践结果告诉我,答案错了,页面一片空白! 一直不知道为什么,死活不输出123,为了让页面输出123,我把它修改为如下代码: <?php echo '123'; die(); ?> 网上的一段资料: PHP中exit()与die()的区别 PHP手册:die()Equivalent to exit(). 说明:die()和exit()都是中止脚本执行函数:

fopen中的mode(20161115)

mode mode 参数指定了所要求到该流的访问类型.可以是以下: fopen() 中 mode 的可能值列表 mode 说明 'r' 只读方式打开,将文件指针指向文件头. 'r+' 读写方式打开,将文件指针指向文件头. (就是覆盖) 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零.(就是在将文件指针指向文件头的同时把文件清空了)如果文件不存在则尝试创建之. 'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零.如果文件不存在则尝试创建之. 'a' 写入方式打开,将文件指