ユーザーから読み取られる文字列にスペースが含まれている場合、Fortran で read(asterisk, asterisk) を使用しても機能しないようです。次のコードを検討してください。
character(Len = 1000) :: input = ' '
read(*,*) input
ユーザーが文字列「Hello, my name is John Doe」を入力すると、「Hello」のみが入力に格納されます。スペース以降はすべて無視されます。私の推測では、コンパイラは "Hello," が最初の引数で、"my" が 2 番目の引数であると想定しているため、他の単語をキャプチャするには、read( , ) input1, input2, input3 のようなものを使用する必要があります。 ...など。このアプローチの問題は、入力ごとに大きな文字配列を作成する必要があり、入力される単語の数を正確に知る必要があることです。これを回避する方法はありますか?? 文全体、スペース、およびすべてを実際に読み取る関数はありますか? どうもありがとう!