在Fortran中读取带空格的字符串
|
如果要从用户读取的字符串包含空格,则在Fortran中使用read(星号,星号)似乎不起作用。
考虑以下代码:
character(Len = 1000) :: input = \' \'
read(*,*) input
如果用户输入字符串“ Hello,我的名字叫John Doe”,则仅将“ Hello,\”存储在输入中;忽略空间后的所有内容。我的假设是编译器假设\“ Hello,\”是第一个参数,而\“ my \”是第二个参数,因此要捕获其他单词,我们必须使用read(,)之类的东西input1,input2,input3 ...等。这种方法的问题是,我们需要为每个输入创建大型字符数组,并且需要确切知道要输入多少个单词。有没有办法解决??某些功能实际上将读取整个句子,空格以及所有内容?非常感谢!
没有找到相关结果
已邀请:
2 个回复
惭法搽
...将读取一行最大长度为100(对于大多数实际用途而言足够)的文本,并将其写回给您。根据自己的喜好进行修改。
肉脓措伪
,尝试
。我不是Fortran专家,但是
的第二个参数是格式说明符(等效于C语言中
的第二个参数)。
表示您不需要的列表格式。例如,如果要读取14个字符作为字符串,也可以说ѭ7。