Fortran Coder

查看: 586|回复: 10

[文件读写] 如何将一个一行文本数据写入另一个文本的第二行

[复制链接]

46

帖子

9

主题

0

精华

熟手

F 币
219 元
贡献
137 点
发表于 2018-1-31 21:47:08 | 显示全部楼层 |阅读模式
两个文本都是一行36列固定格式数据,比如想2008.txt里的一行数据想写入2009.TXT的第二行,请问大神们如任何实现才好。
QQ截图20180131130532.png
回复

使用道具 举报

537

帖子

0

主题

0

精华

大师

F 币
629 元
贡献
288 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2018-2-1 10:34:38 | 显示全部楼层
本帖最后由 vvt 于 2018-2-1 10:42 编辑

[Fortran] 纯文本查看 复制代码
character(len=512) :: x
Open(13,File="2009.txt",position="append")
Open(12,File="2008.txt")
Read(12,'(a512)') x
Write(13,'(a)') trim(x)
close(12)
close(13)
end

46

帖子

9

主题

0

精华

熟手

F 币
219 元
贡献
137 点
 楼主| 发表于 2018-2-27 18:11:08 | 显示全部楼层
vvt 发表于 2018-2-1 10:34
[mw_shl_code=fortran,true]character(len=512) :: x
Open(13,File="2009.txt",position="append")
Open(12 ...

谢谢你A

46

帖子

9

主题

0

精华

熟手

F 币
219 元
贡献
137 点
 楼主| 发表于 2018-2-27 20:15:47 | 显示全部楼层
vvt 发表于 2018-2-1 10:34
[mw_shl_code=fortran,true]character(len=512) :: x
Open(13,File="2009.txt",position="append")
Open(12 ...

你好,我还想请教下Read(12,'(a512)') x5,Write(13,'(a)') trim(x) ,这其中a512能懂,write里的a是什么啊,谢谢啊

537

帖子

0

主题

0

精华

大师

F 币
629 元
贡献
288 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2018-2-27 22:03:40 | 显示全部楼层
向着光亮 发表于 2018-2-27 20:15
你好,我还想请教下Read(12,'(a512)') x5,Write(13,'(a)') trim(x) ,这其中a512能懂,write里的a是什么 ...

a 意思就是,有多长输出多长。

437

帖子

2

主题

0

精华

大宗师

F 币
2932 元
贡献
1747 点

水王勋章元老勋章热心勋章

发表于 2018-2-28 09:26:56 | 显示全部楼层
本帖最后由 pasuka 于 2018-2-28 09:28 编辑

lz缺失部分关键信息:
1、2008.txt和2009.txt文件总共有几行?
2、2008.txt文件需要写入的是哪一行?
几百行数据与几百万行数据的处理通常会采取不同的处理方法

46

帖子

9

主题

0

精华

熟手

F 币
219 元
贡献
137 点
 楼主| 发表于 2018-2-28 10:02:57 | 显示全部楼层
pasuka 发表于 2018-2-28 09:26
lz缺失部分关键信息:
1、2008.txt和2009.txt文件总共有几行?
2、2008.txt文件需要写入的是哪一行?

两个文本都只有一行,2008需要写入2009的第一行,使得2008成为两行

46

帖子

9

主题

0

精华

熟手

F 币
219 元
贡献
137 点
 楼主| 发表于 2018-2-28 10:03:55 | 显示全部楼层
vvt 发表于 2018-2-27 22:03
a 意思就是,有多长输出多长。

好的谢谢,这个和格式化输出的字符串A是一个道理吗

437

帖子

2

主题

0

精华

大宗师

F 币
2932 元
贡献
1747 点

水王勋章元老勋章热心勋章

发表于 2018-2-28 10:17:20 | 显示全部楼层
本帖最后由 pasuka 于 2018-2-28 10:19 编辑
向着光亮 发表于 2018-2-28 10:02
两个文本都只有一行,2008需要写入2009的第一行,使得2008成为两行

最简单话调用dos的copy命令或者>>重定向,譬如
如何用dos命令合并多个txt文件为一个文件
Dos命令将两个文本文件内容合并


537

帖子

0

主题

0

精华

大师

F 币
629 元
贡献
288 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2018-2-28 12:24:34 | 显示全部楼层
向着光亮 发表于 2018-2-28 10:03
好的谢谢,这个和格式化输出的字符串A是一个道理吗

这就是格式化输出
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2018-6-23 10:20

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表