C++标准中fopen函数的mode只有r,r+,w+,a,a+这几种类别,而没有rw这种类别.
如果尝试对用rw方式打开文件进行写操作,不同的编译器会有不同的处理方式.例如
在linux下用gcc4.6.3把rw当成r来处理,会提示bad file descriptor
在windows下用dev C++则只是将写文件函数返回失败,但是没有设置errno
根据百度百科的说明,还有些编译器则能够把rw识别为r+
C++标准中fopen函数的mode只有r,r+,w+,a,a+这几种类别,而没有rw这种类别.
如果尝试对用rw方式打开文件进行写操作,不同的编译器会有不同的处理方式.例如
在linux下用gcc4.6.3把rw当成r来处理,会提示bad file descriptor
在windows下用dev C++则只是将写文件函数返回失败,但是没有设置errno
根据百度百科的说明,还有些编译器则能够把rw识别为r+
r : 读取文件,若文件不存在则会报错w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件a : 写入文件,若文件不存在则会先创建再写
第一步 排除文件打开方式错误:r只读,r+读写,不创建 ###f.readline()是读取第一行,f.readlines()是读取全部并返回一个列表w新建只写,w+新建读写,会将文件内容清零
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M