我正在尝试将输入字符串放入子字符串数组中。输入文件中的数据数量少于10个,但未知。每个数据之间的空格数目也不清楚。Fortran - 带有未知字符的字符串转换为子字符串
例子:
Asd B Cwqe21 Ddsw Eww
我很新手的Fortran,所以我不知道我应该使用哪种格式。我的问题是,我不知道数据的数量(这里我假设有5个),那么我如何使代码工作? 我试过,没有工作的情况如下:
CHARACTER (LEN=100), DIMENSION(10) :: string
READ (1,*) (string,I=1,10)
看来,我得到的错误是因为没有6弦阅读并投入串(6)。
我尝试使用“索引”来查找空间,但因为我不知道字符串中有多少空格,所以没有帮助我。
作为评论给您以前的问题http://stackoverflow.com/questions/24090384/unknown-number-of-data-set-in-fortran-input-file,使用的格式'一'。另外,请看本页右侧的“相关”问题,其中第一个是http://stackoverflow.com/questions/6319631/reading-a-string-with-spaces-in-fortran?rq=1 – ClickRick
不要再次发布(几乎)相同的问题。相反,编辑你的问题,使其更清楚。 –
用格式“(A)'将它读入一个字符串中。测试每个字符以查看它是否不是空白 - 如果是,则您有下一个子字符串的开头。使用索引来查找下一个空白以查找该子串的结尾,或者测试每个字符。将子字符串复制到字符数组中。重复... –