fortran - 读取以空格分隔的整数
问题描述
我编写了一个读取数组并返回它的函数:
function read_array(f) result (arr)
implicit none
integer, intent(in) :: f
integer, dimension(:), pointer :: arr
integer :: n, i
read(f, *) n
allocate(arr(n))
do i = 1, n
read(f, *) arr(i)
end do
end function read_array
该函数应该以单元为单位从文件中读取整数数组f
并将其作为指针返回。问题是在do
循环中,每条read
语句都读取一整行,而不仅仅是 1 个整数。
这是我希望我的文件的外观:
5
9 7 4 3 10
这是我目前必须如何布置的:
5
9
7
4
3
10
那么我怎样才能使read
语句不消耗一整行而只读取一个数字呢?
解决方案
我认为像
read(f,*)yourarray
应该为你工作
推荐阅读
- java - InelliJ IDE 中 revArr.main(revArr.java:6) 的线程“main”java.lang.NullPointerException 中的异常
- wordpress - 按顺序重新计算 woocommerce 费用
- mysql - MySQL Query with Group by for Stated Result
- python-3.x - 如果一列有重复并且下一列有值如何将这些添加到重复值
- django - 如何将 Django Rest-api 与 MongoDB 连接?
- mysql - JdbcTemplate - SQLWarning 被忽略:SQL 状态“22007”,错误代码“1292”,消息 [截断不正确的 DOUBLE 值:“stepExecutionContext[toId]”]
- selenium - 为什么最后一个空行已被拉出作为 selenium apache POI 中具有空值的附加测试
- php - Laravel 预订表未邮寄
- reactjs - 在反应中,将响应数组插入 setState
- php - Laravel 使用 MDaemon 电子邮件服务器发送电子邮件但收到错误“需要身份验证”