C语言 "w+" "a+"《文件读写》
经查找一些资料,并且亲自实验之后得出:
r+:打开已存在的文件时,光标位于开头,文件可读,可写,
写数据时,由于光标位于开头,所以会覆盖原有数据
w+:打开的文件已存在时,将覆盖原文件
a+:打开已存在的文件时,光标位于文件尾,文件可读,可写
读数据时,光标会回到开头
FILE *Binfid; h_u32 framenum = 0; h_s32 frameformat = 0; char filename_last[256] = "output.txt"; void vs_printf_open(char filename[], int framenum1, int format) { int temp_str = 0; temp_str = strcmp(filename, filename_last); // strcmp返回的规律是什么? do { if (temp_str != 0) { Binfid = fopen(filename, "w+"); } else { Binfid = fopen(filename, "a+"); } } while (Binfid == NULL); // 为什么写成 do while??? if (Binfid == NULL) { printf("this is error!\r\n"); } framenum = framenum1; frameformat = format; memcpy(filename_last, filename, sizeof(char) * 256); // 保证每一帧切换时,是添加 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix