社区
C语言
帖子详情
用文件模拟内存的读写问题
freshui
2009-08-16 11:14:40
因为内存都是动态随机访问的,给个地址就可以随机读写,
现在的问题是:读好办,fseek一下读就可以了,写怎么办?
如果我要修改一个数据,需要把访问所在位置及其之后的所有数据都要读出来再写回去吗?
有没有什么好的办法?
...全文
99
7
打赏
收藏
用文件模拟内存的读写问题
因为内存都是动态随机访问的,给个地址就可以随机读写, 现在的问题是:读好办,fseek一下读就可以了,写怎么办? 如果我要修改一个数据,需要把访问所在位置及其之后的所有数据都要读出来再写回去吗? 有没有什么好的办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
i_stone
2009-08-17
打赏
举报
回复
不是很清楚楼主的意思.如果只是写文件, 比如从文件的第1000个字节开始写,同样用SEEK(1000,CFILE::BEGIN),然后FILE.WRITE(BUF,LEN)就可以了啊
threewall
2009-08-17
打赏
举报
回复
一样记录相对位置就可以了
WizardOz
2009-08-17
打赏
举报
回复
写文件也是把文件指针移动到相应位置直接覆盖阿。
至于其后的数据,你不用管,除非你调用了文件截断功能,否则那些数据是不会丢失的。
kakashi0309
2009-08-17
打赏
举报
回复
指针不是都有类型的吗 要写的话也就是 sizeof(类型) 个字节
freshui
2009-08-17
打赏
举报
回复
ok, 测试了下,的确可以。
我记错了。
我印象中写中间的数据,会将之后的数据全冲掉。 :)
das_jack
2009-08-17
打赏
举报
回复
i/o操作本质都一样,这类问题,写个测试程序不就明白了吗
Arnold9009
2009-08-16
打赏
举报
回复
貌似不需要吧
内存写的时候,也是直接把指定地址的原有值覆盖掉的
文件写的时候,先移动指针到指定位置(类似内存的地址),然后写入指定数量的数据,这样操作
的话,我记得是直接覆盖掉那部分数据,其余的不影响的好像
C语言
模拟
实现Linux
文件
系统
C语言
模拟
实现Linux
文件
系统 1、在
内存
中开辟一块空间来
模拟
文件
系统的运行,不
读写
硬盘。 2、面向单用户、单任务,不考虑并发,不考虑
文件
属主、组等概念。 3、程序开始后,初始化并接收用户输入。若输入”enter”,则重新建立
文件
系统, 读取上次的退出状态,以上次目录为当前目录; 若输入”q”则退出程序。 用户输入”exit”后,保存当前状态,退出系统 ,等待用户输入。
模拟
unix
文件
系统
1.本题目为
模拟
UNIX
文件
系统来设计一个多用户多级目录的
文件
系统。 1)课程设计所利用的空间为1M的
内存
(
模拟
外存
文件
系统存储空间)或用一个
文件
模拟
一个磁盘分区,
模拟
外存
文件
系统存储空间。这1M
内存
分成512块,每块为512个字节,这512块就是
文件
系统总共的可用块数,
文件
系统的分配就是以块为单位来分配的,空闲块的管理利用位示图的方法来管理。申请1M的
内存
的方法可以利用malloc()等。 2)在构造
文件
系统空间时,不用做引导块;专用块中只包含对空闲块和空闲磁盘i节点进行管理的信息,即位示图和记录空闲磁盘i节点号的数组(该数组大小可设置为与磁盘i节点总数相等);要做磁盘i节点区和
文件
存储区;不用做进程对换区。注意:仔细计算,合理分配各区域。 3)磁盘i节点可以利用在
内存
中生成链表或者数组的方法来生成,并且限制磁盘i节点数的最大值。同样
内存
活动i节点也可以利用链表的方法在
内存
中生成。 4)在往
文件
中写或者读的时候我们都是对
内存
中内容进行
读写
。例如你在
文件
中写的时候,其实是对分配的
文件
块中对应的
内存
赋值。当程序运行结束的时候,
文件
的内容都会丢失。我们这个
文件
系统只是一个
模拟
文件
系统功能的虚拟
文件
系统。当然,若用一个
文件
模拟
一个磁盘分区,
模拟
外存
文件
系统存储空间,那你在这个
模拟
系统中建立的
文件
其内容就不会丢失了 本程序使用txt
文件
模拟
磁盘分区
Python
读写
文件
1、使用Python
读写
文件
一项基本技能,该课程中详细讲解了三种常用的
文件
读写
方式 2、详细讲解了os模块中如何操作
文件
和路径,更好的辅助完成
文件
的
读写
操作,熟练对os模块的使用
操作系统中的
文件
管理程序
模拟
文件
管理
次操作系统程序为
文件
管理 也就是
模拟
文件
管理来达到深入理解
操作系统
模拟
实现课程设计
下面是一些笼统实现,具体要求还是要具体看。 进程管理
模拟
:实现操作系统进程管理功能,如实现进程的控制(进程创建,状态转换、进程撤销),进程并发执行。
文件
管理
模拟
:实现
文件
系统的管理,如目录管理,创建
文件
,打开
文件
,
读写
文件
,删除
文件
等功能。有图形界面和命令行两种模式
内存
管理
模拟
:实现
内存
的动态分配算法和回收 设备管理
模拟
:实现设备的分配回收等
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章