在写文件时第一次写入时能实现 ,但删除后再写入的时候就实现不了,为什么?

ruiyiiuo2007 2007-09-04 03:25:07

在写文件时第一次写入时能实现 ,但删除后再写入的时候就实现不了,为什么?
例:
FILE *fp = NULL;
fp = fopen("top.txt","b+");
if(fp)
{
fwrite(szSqlBuffer888,strlen(szSqlBuffer888),1,fp);
fclose(fp);

}
...全文
185 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruiyiiuo2007 2007-09-05
  • 打赏
  • 举报
回复
多谢谢呀.
xiao_ke 2007-09-04
  • 打赏
  • 举报
回复
是啊 你那個b+ 。。。。。。。
KenYuan2016 2007-09-04
  • 打赏
  • 举报
回复
Please choose the correct parameter in your code...

"r"
Opens for reading. If the file does not exist or cannot be found, the fopen call fails.
"w"
Opens an empty file for writing. If the given file exists, its contents are destroyed.
"a"
Opens for writing at the end of the file (appending) without removing the EOF marker before writing new data to the file; creates the file first if it doesn't exist.
"r+"
Opens for both reading and writing. (The file must exist.)
"w+"
Opens an empty file for both reading and writing. If the given file exists, its contents are destroyed.
"a+"
Opens for reading and appending; the appending operation includes the removal of the EOF marker before new data is written to the file and the EOF marker is restored after writing is complete; creates the file first if it doesn't exist.
zywhuiss 2007-09-04
  • 打赏
  • 举报
回复
"fp = fopen("top.txt","b+");"
怎么MSDN里面对fopen的说明终没有"b+"这个参数?楼主认真看过MSDN吗?
冷月清晖 2007-09-04
  • 打赏
  • 举报
回复
多些判断 错误处理

if(NULL==(fp = fopen("top.txt","b+")))
/*文件没打开,报错*/
else
/*操作*/
if( 0==fclose( fp ) )
/*文件关闭*/
else
/*报错*/
冷月清晖 2007-09-04
  • 打赏
  • 举报
回复
当然啦,关闭之后要再次打开呀
IfI 2007-09-04
  • 打赏
  • 举报
回复
用c++的话建议用标准c++的库.

这个例子中,你把文件删除了,却没有指定"如果文件不存在就创建它"的参数,所以获取文件指针失败.

按楼上说法,换成wb+试试.
awperpvip 2007-09-04
  • 打赏
  • 举报
回复
debug一下,fp始终为NULL
fopen失败,改一下打开方式,比如传参数为wb+试下OK.
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 SolidWorks是一款在机械设计领域得到广泛应用的计算机辅助设计(CAD)软件,它具备功能强大的三维建模工具、完善的工程图功能以及多样化的设计协作功能。在工程图模板方面,SolidWorks为设计师们提供了创建符合行业标准图纸的便捷途径,从而显著提升了设计工作的效率。标题"SolidWorks工程图模板"具体指的是在SolidWorks软件中预先设定好的图框与标题栏组合布局,这些模板通常依据特定的规范(例如ISO、ANSI等)进行配置,涵盖了设计者通常所需的所有基本要素。借助这些模板,用户能够直接展开工程图的绘制工作,无需独立设置图框和标题栏,因而有效节省了大量的间。描述中所指出的"已配置好图框和标题栏",表明这些模板已具备绘制工程图的基础结构。图框作为工程图的一个核心组成部分,它界定了图纸的范围,并且通常包含了图纸编号、日期、比例等关键信息。标题栏则是用于呈现设计详细信息的区域,例如设计者的姓名、零件的名称、材料种类、版本号等。一旦这些要素被配置妥当,设计师便可以根据具体的项目需求填充相应内容,从而迅速生成专业且标准化的工程图纸。"配置好存储路径后即可使用"这一说明表明,在使用SolidWorks工程图模板之前,用户必须先设定一个保存位置,这样每次创建新的工程图,软件会自动将文件保存在这个指定的路径下,便于后续的管理和检索。压缩包内包含的文件"A3零件.DRWDOT"与"A3零件.slddrt"代表了SolidWorks的两种不同类型的工程图文件。".DRWDOT"文件是工程图模板文件,它集成了图框、标题栏及其他个性化设置,供用户在创建新工程图选用。".slddr...
内容概要:本文介绍了一个名为GeometryService的类,旨在将不同类型的地理空间数据(如点坐标、Shapefile文件、GADM行政区划数据)解析并转换为Google Earth Engine可识别的几何对象(ee.Geometry)。该服务支持三种输入类型:通过经纬度字典创建点几何体、读取本地矢量文件(如Shapefile或GeoJSON)以及调用pygadm库获取全球行政区划数据。每种类型均有专门的解析方法,内部实现了坐标系统一(WGS84)、几何合并与GeoJSON格式转换,并最终封装为Earth Engine兼容的几何结构用于遥感分析或区域提取。; 适合人群:具备Python编程基础,熟悉地理信息系统(GIS)数据处理的科研人员或开发者,尤其是需要将本地或全球地理数据接入Google Earth Engine平台进行遥感分析的技术人员; 使用场景及目标:①将野外采样点、研究区边界等地理数据快速导入Earth Engine进行遥感影像分析;②利用GADM全球行政区划数据库动态获取国家或省级行政边界的几何对象,实现自动化区域统计;③为构建基于Web的地图分析工具提供后端几何解析支持; 阅读建议:使用前需安装geopandas、pygadm、earthengine-api等依赖库,注意处理异常情况如文件路径错误、坐标系不匹配或网络请求失败,建议结合实际数据调试各解析函数。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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