我想将字符串从C传递到Fortran,然后逐行处理它,就好像我正在读取文件一样。这可能吗?
示例字符串-包含换行符
File description: this file contains stuff
3 Values
1 Description
2 Another description
3 More text
然后,我想像文件一样逐行解析字符串。与此类似:
subroutine READ_STR(str, len)
character str(len),desc*70
read(str,'(a)') desc
read(str,*) n
do 10 i=1,n
read(str,*) parm(i)
10 continue
并非没有重大的“手动”干预。有几个问题:
在内部文件中,换行符没有特殊含义。内部文件中的记录对应于数组中的元素。您可能需要先手动将字符标量预处理成一个数组,或者使用跳过了换行符的单个READ。
如果确实将字符串处理到数组中,则内部文件不会在父READ语句之间保持文件位置。您将需要自己手动跟踪当前记录,或者使用访问多个记录的单个READ语句来处理整个阵列。
如果您具有可变宽度的字段,那么编写格式规范以在单个READ中处理所有内容可能会遇到问题,尽管这取决于输入的详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句