如何在DOS或Fortran中读取Notepad ++文件?

时间:2013-05-31 15:13:44

标签: fortran fortran95

我收到了一个用Notepad ++创建的文本文件,我试图在Mac和PC上使用Fortran 95程序阅读。读取行是:

 read(lun,'(a)',iostat=io1) input

由于我不知道线路长度是多少,我定义的输入长度为512。使用非记事本++文件,当找到行尾时,读取“停止”并自动前进到下一行文本。使用notepad ++文件,它会读取512个字符,跳过回车符。当我使用电脑上的dos编辑器打开文件时,我看到回车符号(ASCII字符13)但行之间没有中断,它们全部相互附加。

我尝试搜索ichar(13)ichar(10),退回到行的开头并尝试强制前进到下一行;阅读format '(a,/')',但无法获得任何工作。

1 个答案:

答案 0 :(得分:0)

您需要的是管道类型设计。基本例程是一个名为getline的例程,它获取一行数据直到回车。在初始化中,你所做的是将文件作为二进制文件打开并读取1024个字符的缓冲区。每当调用getline时,返回下一批字符,直到你到达CR。如果没有足够的字符,请将未处理的字符移到前面并读入剩余的字符。

它基本上是编译器的工作原理 - 它们获得一个令牌流,在你的情况下是一串以CR结尾的字符,然后它们处理令牌。