有没有一种简单的方法可以在FORTRAN中读取文件并打印到stdout?

| 我有一个要打印到标准输出的数据文件。是否可以在fortran中完成而不必将数据读入数组然后打印数组? 谢谢     
已邀请:
您可以打开文件进行流访问,并一次循环处理一个字符,直到到达文件末尾。我不知道大型数据文件的效率如何(效率)低下,但是它使您不必定义长度足以容纳最长行的字符变量,这需要有根据的猜测。 程序回显     使用,固有的:: iso_fortran_env,仅:iostat_end     隐式无     字符(*),参数:: file_name = \'data.txt \'     整数:: lun,io_status     角色:: char     打开(newunit = lun,file = file_name,access = \'stream \',status = \'old \',&          操作= \'读\')     print *,\'---文件内容:\'// file_name // \'--- \'     做         读取(lun,iostat = io_status)字符         if(io_status == iostat_end)退出         if(io_status> 0)错误停止\'***读取文件时发生错误。 *** \'         write(*,\'(a)\',advance = \'no \')char     做完     打印*,\'---文件内容的结尾:\'// file_name // \'--- \'     关闭(lun) 结束程序echostd 我已经使用了两个fortran 2008功能,但是如果您的编译器尚不支持它们,则可以轻松完成这两个功能。 一个是“ 0”说明符;另一个是“ 0”说明符。如果您的编译器不支持此功能,则当然可以使用预定义的单元号。 另一个是“ 1”语句;只需删除
error
部分即可。     
好的,我只是对您在哪里使用Fortran感到好奇。 您可以将其读入循环内的一个字符变量中。 Fortran的声明如下
read (7,*,end=10) name
在这里您可以继续阅读,直到到达EOF(它将跳至EOF的第10行)。     

要回复问题请先登录注册