如何修改文件
想问问大家fortran如何修改一个文件的某几行,现在能够用read(21,*)a,b , c来读取文件,
我重新给abc赋值后,
然后write(21,*)a,b,c 发现这些数据直接写在整个文本的最后,
我想在abc本身的位置直接修改,请问怎么修改最后想用修改好的新文件来进行运算!
你需要先关闭所读取的文件,然后再打开同一文件进行写操作。 本帖最后由 li913 于 2021-2-4 15:48 编辑
一般,这是不能直接修改的。需要按行读取每一行数据,修改某些数据,输出到新文件。
直接修改的方式也有,麻烦,并且可能会出问题(新数据占位比原数据多)。 li913 发表于 2021-2-4 15:47
一般,这是不能直接修改的。需要按行读取每一行数据,修改某些数据,输出到新文件。
直接修改的方式也有, ...
哦哦感谢感谢 li913 发表于 2021-2-4 15:47
一般,这是不能直接修改的。需要按行读取每一行数据,修改某些数据,输出到新文件。
直接修改的方式也有, ...
本质上,就没有修改文件部分数据的办法吧
除非做成内存映射,那样的话就完全是把内存地址和硬盘地址一一对应起来了
一般也没有这种需求 liudy02 发表于 2021-2-10 08:31
本质上,就没有修改文件部分数据的办法吧
除非做成内存映射,那样的话就完全是把内存地址和硬盘地址一一 ...
当做二进制文件,可以修改指定的字节。 li913 发表于 2021-2-10 10:21
当做二进制文件,可以修改指定的字节。
以定长记录的方式读写,可以做到只修改一个地方吗?
感觉上,这个也只是在内存里修改,写的时候还是全部重新写了吧
想在硬盘上只改文件的一个地方,除非做内存映射 liudy02 发表于 2021-2-11 11:58
以定长记录的方式读写,可以做到只修改一个地方吗?
感觉上,这个也只是在内存里修改,写的时候还是全部 ...
可以,这叫直接访问,默认是顺序访问。
页:
[1]