回 帖 发 新 帖 刷新版面

主题:求助: 如何在文件里读取带有“/”的字符串?

一段程序要从一个文件中读取 带有“/”的 路径  字符串
      PROGRAM MAIN
      IMPLICIT NONE
      CHARACTER*128 A
      OPEN(12,FILE='1.DAT')
      READ(12,*)A
      WRITE(*,*)TRIM(ADJUSTL(A))
      END

文件的内容为
      F:/DF/d.dat
但是屏幕输出为
      F:
就是说程序不能读取“/”

但是如果直接给A赋值 是可以的
      PROGRAM MAIN
      IMPLICIT NONE
      CHARACTER*128 A    
      A="F:/DF/d.dat"
      WRITE(*,*)TRIM(ADJUSTL(A))
      END

请问 如果我就想在文件里读这个路径 该如何解决?

回复列表 (共4个回复)

沙发

“/”在格式化I/O里表示换行,读入的时候读到它就换了一行。
windows里路径是C:\windows\... ,可以考虑路径间隔用"\"表示。

板凳


我要是就想用“/”呢?

要不先读入f:\***\** 
再把"\"换成”/“?

3 楼

这个不清楚了,帮你顶下,期待高手来解答。

4 楼

直接列表I/O輸入時, 符號 / 結束輸入
因此須用格式化輸入方式讀取
例如:
program main
  implicit none
  character(len = 128) :: a
  open (12, file = '1.dat')
  read (12, '(a)') a
  write (*, *) trim(adjustl(a))
  close (12)                   
end program main

我来回复

您尚未登录,请登录后再回复。点此登录或注册