Fortran Coder

查看: 24968|回复: 10
打印 上一主题 下一主题

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

[复制链接]

50

帖子

11

主题

0

精华

熟手

F 币
239 元
贡献
151 点
跳转到指定楼层
楼主
发表于 2018-1-31 21:47:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
两个文本都是一行36列固定格式数据,比如想2008.txt里的一行数据想写入2009.TXT的第二行,请问大神们如任何实现才好。

QQ截图20180131130532.png (9.51 KB, 下载次数: 543)

QQ截图20180131130532.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

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

50

帖子

11

主题

0

精华

熟手

F 币
239 元
贡献
151 点
板凳
 楼主| 发表于 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

50

帖子

11

主题

0

精华

熟手

F 币
239 元
贡献
151 点
地板
 楼主| 发表于 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是什么啊,谢谢啊

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

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

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

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

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

6#
发表于 2018-2-28 09:26:56 | 只看该作者
本帖最后由 pasuka 于 2018-2-28 09:28 编辑

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

50

帖子

11

主题

0

精华

熟手

F 币
239 元
贡献
151 点
7#
 楼主| 发表于 2018-2-28 10:02:57 | 只看该作者
pasuka 发表于 2018-2-28 09:26
lz缺失部分关键信息:
1、2008.txt和2009.txt文件总共有几行?
2、2008.txt文件需要写入的是哪一行?

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

50

帖子

11

主题

0

精华

熟手

F 币
239 元
贡献
151 点
8#
 楼主| 发表于 2018-2-28 10:03:55 | 只看该作者
vvt 发表于 2018-2-27 22:03
a 意思就是,有多长输出多长。

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

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

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

9#
发表于 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命令将两个文本文件内容合并


954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
10#
发表于 2018-2-28 12:24:34 | 只看该作者
向着光亮 发表于 2018-2-28 10:03
好的谢谢,这个和格式化输出的字符串A是一个道理吗

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

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-26 20:33

Powered by Tencent X3.4

© 2013-2024 Tencent

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