关于fopen()函数中w模式w+模式的疑惑

yzc_1991 2013-08-12 08:07:46
w是只写,有文件内容就清空内容,没有就创建。
w+是读/写,有文件内容就清空内容,没有就创造。
问题是:都是有文件内容就清空内容,那么只写和读/写又有什么区别?读也是读空,何必要区分出来这两者?
w+有读的必要吗?
...全文
650 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
derekrose 2013-08-12
  • 打赏
  • 举报
回复
引用 3 楼 DuanXu1 的回复:
[quote=引用 2 楼 mujiok2003 的回复:] 以"w"打开的文件,不支持读操作,这就是区别。
就是在使用w+模式时,可以在写入数据的同时,随时读取这个文件的内容吗? 而使用w模式,只有在写入完成之后,关闭文件,然后使用r模式打开才能读取文件的内容?[/quote] yes.
yzc_1991 2013-08-12
  • 打赏
  • 举报
回复
引用 5 楼 mujiok2003 的回复:
[quote=引用 3 楼 DuanXu1 的回复:] [quote=引用 2 楼 mujiok2003 的回复:] 以"w"打开的文件,不支持读操作,这就是区别。
就是在使用w+模式时,可以在写入数据的同时,随时读取这个文件的内容吗? 而使用w模式,只有在写入完成之后,关闭文件,然后使用r模式打开才能读取文件的内容?[/quote] you got it.[/quote] 该结贴了,谢谢两位。
yzc_1991 2013-08-12
  • 打赏
  • 举报
回复
引用 4 楼 max_min_ 的回复:
[quote=引用 3 楼 DuanXu1 的回复:] [quote=引用 2 楼 mujiok2003 的回复:] 以"w"打开的文件,不支持读操作,这就是区别。
就是在使用w+模式时,可以在写入数据的同时,随时读取这个文件的内容吗? 而使用w模式,只有在写入完成之后,关闭文件,然后使用r模式打开才能读取文件的内容?[/quote] 是的,返回的文件流句柄,可以同时进行读和写的操作 但是这个时候你要注意的文件流的移动位置! 不推荐同时进行读写操作![/quote] 该结贴了,谢谢两位。
mujiok2003 2013-08-12
  • 打赏
  • 举报
回复
引用 3 楼 DuanXu1 的回复:
[quote=引用 2 楼 mujiok2003 的回复:] 以"w"打开的文件,不支持读操作,这就是区别。
就是在使用w+模式时,可以在写入数据的同时,随时读取这个文件的内容吗? 而使用w模式,只有在写入完成之后,关闭文件,然后使用r模式打开才能读取文件的内容?[/quote] you got it.
max_min_ 2013-08-12
  • 打赏
  • 举报
回复
引用 3 楼 DuanXu1 的回复:
[quote=引用 2 楼 mujiok2003 的回复:] 以"w"打开的文件,不支持读操作,这就是区别。
就是在使用w+模式时,可以在写入数据的同时,随时读取这个文件的内容吗? 而使用w模式,只有在写入完成之后,关闭文件,然后使用r模式打开才能读取文件的内容?[/quote] 是的,返回的文件流句柄,可以同时进行读和写的操作 但是这个时候你要注意的文件流的移动位置! 不推荐同时进行读写操作!
yzc_1991 2013-08-12
  • 打赏
  • 举报
回复
引用 2 楼 mujiok2003 的回复:
以"w"打开的文件,不支持读操作,这就是区别。
就是在使用w+模式时,可以在写入数据的同时,随时读取这个文件的内容吗? 而使用w模式,只有在写入完成之后,关闭文件,然后使用r模式打开才能读取文件的内容?
mujiok2003 2013-08-12
  • 打赏
  • 举报
回复
以"w"打开的文件,不支持读操作,这就是区别。
max_min_ 2013-08-12
  • 打赏
  • 举报
回复

r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧