在Fortran中读取带空格的字符串

| 如果要从用户读取的字符串包含空格,则在Fortran中使用read(星号,星号)似乎不起作用。 考虑以下代码:
    character(Len = 1000) :: input = \' \'
    read(*,*) input
如果用户输入字符串“ Hello,我的名字叫John Doe”,则仅将“ Hello,\”存储在输入中;忽略空间后的所有内容。我的假设是编译器假设\“ Hello,\”是第一个参数,而\“ my \”是第二个参数,因此要捕获其他单词,我们必须使用read(,)之类的东西input1,input2,input3 ...等。这种方法的问题是,我们需要为每个输入创建大型字符数组,并且需要确切知道要输入多少个单词。有没有办法解决??某些功能实际上将读取整个句子,空格以及所有内容?非常感谢!     
已邀请:
        
  character(100) :: line

  write(*,\'(\"Enter some text: \",\\)\')
  read(*,\'(A)\') line
  write(*,\'(A)\') line

  end
...将读取一行最大长度为100(对于大多数实际用途而言足够)的文本,并将其写回给您。根据自己的喜好进行修改。     
        代替
read(*, *)
,尝试
read(*, \'(a)\')
。我不是Fortran专家,但是
read
的第二个参数是格式说明符(等效于C语言中
sscanf
的第二个参数)。
*
表示您不需要的列表格式。例如,如果要读取14个字符作为字符串,也可以说ѭ7。     

要回复问题请先登录注册