C中如何在一个文件开头写入文本

社区

C语言 帖子详情 C中如何在一个文件开头写入文本 翼辉 2009-09-20 11:08:45 要在一个文件开头就写入str,但不删除下面本来的文本内容,在写入前先指定了指针到文件开头,怎么没用,该怎么做呢?

fseek(fp[i],0,0);

fprintf(fp[i], "%s\n", str);

是用的添加模式,a,但是都添加到文件的最后面去了,我要添加在文件的最开头

fseek试了好几种,都无法改变添加在最后的情况.

...全文

1240 11 打赏 收藏 C中如何在一个文件开头写入文本 要在一个文件开头就写入str,但不删除下面本来的文本内容,在写入前先指定了指针到文件开头,怎么没用,该怎么做呢? fseek(fp[i],0,0); fprintf(fp[i], "%s\n", str); 是用的添加模式,a,但是都添加到文件的最后面去了,我要添加在文件的最开头 fseek试了好几种,都无法改变添加在最后的情况. 复制链接

扫一扫 分享 转发到动态 举报

写回复 配置赞助广告取 消

确 定

用AI写文章 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 pigniyan 2009-09-21 打赏举报 回复 没有办法直接写入,因为你二进制文本是写在硬盘上的,写入了某个扇区,数据是没有办法移动的,只能在后面追加,但是如果这个文本文件不是已存在的,而是在写入过程中突然发现掉了某一字符串,这时可以通过流指针来改变写入的位置,如果文本已存在,而是二次更新的话,那么只能把文本中的数据读入某个存储区域,重新排列后在写入文本,这样就可以达到楼主的目的 翼辉 2009-09-20 打赏举报 回复 到了文件的头 也会覆盖掉的 imvman 2009-09-20 打赏举报 回复 应该是你

fseek

的问题

设置为0,

当用"a"打开文件的话,应该是自动到文件末尾了啊

cphj 2009-09-20 打赏举报 回复 还可以先把要追加的头部内容单独写到一个文件中,然后再调用文件系统把2个文件连接成1个文件 翼辉 2009-09-20 打赏举报 回复 如果有新的办法,请指教呀 珍惜生命远离CPP 2009-09-20 打赏举报 回复 [Quote=引用 3 楼 tjh666 的回复:]

就没有什么办法不事先读出所有的数据,而是直接把数据写在文件的开头吗?

[/Quote]

暂时木有办法 翼辉 2009-09-20 打赏举报 回复 就没有什么办法不事先读出所有的数据,而是直接把数据写在文件的开头吗? 珍惜生命远离CPP 2009-09-20 打赏举报 回复 将原有数据先读取出来。

写入你要加的一行,然后再写入你最开始读取的那些数据 cphj 2009-09-20 打赏举报 回复 先读出已有的所有内容到内存,再直接覆盖写入新的头部内容,最后把原有的内容写回去 myhder 2009-09-20 打赏举报 回复 文件操作只能覆盖或者追加,没有插入这个东东滴。

想要实现的话,自己编代码吧~~~~!!! mstlq 2009-09-20 打赏举报 回复 1 文件没有只有追加模式而没有插入模式……

建议拼接文件…… 时间戳分析验证网络取证 本文提出一种基于第三方服务器协同验证的网络取证时间戳分析方法,通过提取PCAP文件中的HTTP响应头信息,结合统计学手段检测和校正本地日志服务器的时间偏差。该方法不依赖单一设备时钟,而是利用多个‘虚拟见证’服务器的时间信号,构建独立、可靠的时间基准,有效解决因时钟漂移、配置错误或NTP失效导致的取证数据可信度问题。实验表明,该方案能以高精度估算事件发生时间,均方误差低于3秒,适用于缺乏准确实时时钟的场景。研究为数字取证领域提供了可验证、可重复的时间验证框架,增强了电子证据在司法程序中的可信度与法律效力。 基于普中51单片机的多功能时钟(带DS18B20温度检测,可以直接使用) 代码可以直接使用,按照我的贴子操作就可以了 利用深度优先算法在Python中实现迷宫生成(depth-first algorithm in Python implementation of maze generation) 【源码免费下载链接】:https://renmaiwang.cn/s/nhrcw

深度优先搜索(DFS,Depth-First Search)是一种用于遍历或搜索树或图的算法,它选择一个节点并尽可能深地探索其分支。在迷宫生成中,DFS被用来创建复杂的路径结构。以下是对给定内容的详细解释:1. **Python深度优先算法生成迷宫的原理**: 迷宫生成的基本思想是随机地在空白区域添加墙壁,形成一条可以从起点到终点的路径。DFS在这里的作用是从起始点开始,随机选择一个方向进行移动,并将该路径标记为已访问。当遇到障碍(已存在的墙壁)或者到达终点时,算法回溯到上一步,选择其他未尝试过的路径。2. **代码解析**: - 定义矩阵`dfs`来记录迷宫中每个单元格是否已被访问。 - 定义矩阵`maze`来表示最终生成的迷宫,其中`#`代表墙壁,空格代表可通行路径。 - `operation`字典存储了四个可能的方向(上、下、左、右)对应的坐标偏移量。 - `direction`列表包含所有可能的方向,用于随机选择移动方向。 - `stack`用于存储深度优先搜索过程中的路径。3. **函数说明**: - `show(graph)`:打印迷宫矩阵,便于观察迷宫结构。 - `showRouter(stack)`:打印DFS过程中访问的路径,展示从起点到终点的路径。 - `generateMaze(start)`:核心函数,使用DFS生成迷宫。首先将起始点标记为已访问,然后随机排序方向,依次尝试这些方向,如果新位置未被访问且在有效范围内,则打通墙壁并递归调用自身。4. **迷宫生成流程**: - 创建一个全墙的初始迷宫矩阵,奇数行和奇数列的位置代表实际的墙壁,偶数位置代表路径。 - 起点设为`(0, 0)`,调用`generateMaze((0,0))`开始生成迷宫。 - 在递归过程中,每次 运维教程-安消防实施指导.docx 运维教程-安消防实施指导.docx 基于Flask的MNIST手写数字识别.zip 基于Flask的MNIST手写数字识别.zip

C语言

70,032

社区成员

243,245

社区内容

发帖 与我相关 我的任务 C语言 C语言相关问题讨论 复制链接

扫一扫 分享 确定 社区描述 C语言相关问题讨论 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章

Copyright © 2022 破界远征沙盒工坊 All Rights Reserved.