-
如何在 Fortran 中读取和写入没有换行符的文件? 这是一个非常简单而复杂的问题,简单到只需要一个字符,复杂到你在几本语法书中都找不到它。 默认情况下,fortran 中的读取或写入将在结束后更改为新行,但读取和写入之间存在一些差异。
读取文件时,如果在读取后写入数组,则如下所示:
read(10,*)y(1:n)
将一整行数字读入数组中。 但是如果你使用write,你不会写这样的文件,它会给你一个超长的文件,每行只有一个数字。 有一个选项叫做 advance='yes'/'no',可以控制是否在输入和输出语句完成后换行,这是默认设置'yes'不幸的是,在英特尔的 Fortran 中,此选项仅适用于读取,写入仍然不适用于。
在 fortran 的输入和输出中,"/"表示换行符,然后"\"这是什么意思,它是“无换行符”。 这是我在网上逛了很久后看到的,为了防止遗忘,我把它写在了我的博客上,拍了这张照片。
下面以 fortran** 为例,如果有 20 个数字,需要处理的数据会改成不同的一行,一般来说最后一行少于 20 个数字,需要用全余来判断。
如何在 Fortran 中读取和写入没有换行符的文件?
2010-12-18 10:21:00|分类: Fortran |报告|字体大小订阅。
**ifelseif 博客。
-
很简单,例如你给出的数组 a=( 5,6,7,8,9 )write(*,"(5i2)")a
注意你的数组在这 5 个中有多少个元素,这就是有多少个。
-
你能把你的问题说得更清楚一点吗?
我使用直接写入(*,a
输出的结果没有换行符。
也许是编译器问题。
然后你写(*,"(5i2)")a
-
在 format 语句的末尾添加斜杠"\"可以实现没有自动换行。
例如:a=b=c=
write(*,100)a
write(*,100)b
write(*,100)c
100 format(1x,end
-
例如,fortran 中的 “ ” 表示换行符。
program main
integer:: a=5,b=6
write(*,"(i3,/,i3)") a,bend program main
在 Fortran 中,wirte 语句的内容通常写在一行上。 如果要在不同的行上输入,也可以将其与do组合使用。
-
使用 write once 必须是换行符。
如果你的意思是你不能在一行上写出你想输出的语句,你可以使用一个延续符号&,如write(*,'lelrwrkdkas dfsfs df &dsfdsfd sfdsffds fsd fs sdf'
-
将这五个数字保存到一个数组中,并一次输出数组而不换行。
-
斜杠 ( ) 的用途是结束此行中记录的输出,并从下一行开始下一条记录的输出。 如果有两个连续的斜杠,则相当于添加一个空行输出。 如果字符末尾出现斜杠,则输出另一个空行。
使用n个连续斜杠,可以达到输出n-1个空行的效果。 例如,write(*,i3,i4 i1,i2,j,m,n,x,y,z 输出第一行是 i,j 的值,第二行是 m,n 的值,第三行是空白的,第四行是 x,y,z 的值,第五行是空白的。
-
反斜杠 ( ) 字符和美元 ($) 字符具有相同的用途,两者都在输出记录行后取消回车符。 当输出字符串与屏幕上的输入数据显示在同一行上时,通常使用它。
示例:write(*,请输入您的年龄=”
read(*,my_age
当输出字符串后没有换行符时,请在屏幕上输入您的年龄 =,我的年龄值可以在 = 符号后立即输入。
-
分两期写
或者使用格式格式来控制换行符。 换行符格式为
-
只需在末尾添加一个 b。
**:print *,a,b
您可以使用 write 命令。
**:write(*,a,b
-
你想在郊游时合并一个b吗?
write(*,"(a)") a//b
-
b=c=d=write(*.100) a,b,c,d !100 是文件编号。
1000格式(1x,,,1x为换行符,后跟四个数字的输出格式。
输出结果(未验证)为:
-
如果要将其输出到屏幕,这是不可避免的,并且由cmd窗口的宽度决定。 输出到文件,该文件可以按格式导出。
-
I 代表整数,A 代表字符串,你的问题中的 20a 应该改为 A20,i 和 a 后面的数字代表整数和字符串的有限长度。 这意味着 myid 是两位数的整数,numprocs 是整数,处理器名称是不超过 20 个字符的字符串。
没有它,您的 ubuntu 系统就无法安装。
前提是确保您的虚拟光驱设置正确,并且您可以将其设置为您的电动光驱。 >>>More
在“控制面板”的“添加和删除”程序中,查看是否安装了 Microsoft,如果是,请考虑卸载它,但如果其他程序需要它,可以稍后重新安装它。 >>>More