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

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);

}
...全文
228 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.
内容概要:本文基于STM32F1微控制器实现了LADRC(线性自抗扰控制)算法,以直流电机调速系统为控制对象,详细阐述了TD(跟踪微分器)、ESO(扩张状态观测器)和LSEF(线性状态误差反馈控制律)三大核心模块的编程实现方法,并支持通过串口与上位机进行实调试和数据监控。系统通过LADRC算法有效提升了直流电机在负载扰动下的动态响应性能与抗干扰能力,实现了高精度、快速响应的调速控制,适用于对控制鲁棒性要求较高的嵌入式应用场景。文中不仅给出了完整的算法设计流程,还强调了工程实现中的关键细节,如参数整定、代码优化与调试手段,确保控制系统的稳定性与实用性。; 适合人群:具备嵌入式系统开发基础、熟悉STM32系列单片机及C语言编程,且对现代控制理论(如自抗扰控制)有一定兴趣的自动化、电气工程及相关专业的高校学生、研究生及工程技术人员。; 使用场景及目标:①掌握LADRC在实际嵌入式系统中的工程化实现方法;②学习如何将先进控制算法(如ESO估计扰动、TD安排过渡过程)应用于电机控制;③通过串口调试与上位机交互,实现控制参数的在线整定与运行状态的可视化监控; 阅读建议:本资源侧重于LADRC在STM32平台上的代码实现与系统调试,建议读者结合控制理论基础,动手实践代码部署,并利用调试工具观察各模块(如TD的微分信号、ESO的扰动观测效果)的运行特性,以深入理解自抗扰控制的内在机制与工程价值。
Python网络数据采集与自动化工具集是一个功能强大的实用工具集合,专注于解决日常网络数据处理和自动化办公需求。该系统采用Python作为主要开发语言,综合运用requests库进行HTTP请求处理,Selenium框架实现浏览器自动化操作,正则表达式技术完成复杂的数据提取和解析,以及os模块实现系统级文件操作功能。该工具集主要包含五大核心模块:知乎模拟登录模块能够自动化处理知乎平台的登录验证流程,支持Cookie管理和Session维护;网络爬虫模块实现了多线程并行抓取机制,可快速采集网页内容并支持多种解析策略;Excel操作模块封装了便捷的数据读接口,支持批量处理和格式转换;微信公众号模块提供了消息推送和数据交互的完整解决方案;远程开机模块实现了网络唤醒功能,可通过发送魔术包远程启动目标计算机。该系统采用模块化架构设计,各功能模块独立封装且易于扩展,函数式编程风格确保了代码的简洁性和可维护性。整体设计遵循面向对象编程思想,通过合理的数据结构设计和算法优化,提升了程序的执行效率和稳定性。该工具集适用于数据分析、网络监控、自动化办公等多种应用场景,为开发者提供了丰富的参考示例和实用功能。 【版权说明】源码来源于网络,遵循原项目开源协议。付费内容为本人原创论文,包含技术分析和实现思路。仅供学习交流使用。 【版权说明】源码来源于网络,遵循原项目开源协议。付费内容为本人原创论文,包含技术分析和实现思路。仅供学习交流使用。

65,210

社区成员

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

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