如果输入以下工作示例 - 例如 - " ach_40",则输出为" ach_40.DOC?"和" ach_40.IMG"。 "在哪里?"来自?
代码是:
program test
character*8 filin
character*12 dummy,file1,file2
character*4 :: img = '.IMG', doc='.DOC'
integer*4 ls1, ls2, i
write(*,*) ' File (without extension): '
read(*,'(a8)') filin
c first file
dummy=filin // doc
ls1 = len_trim(dummy)
ls2=0
do i = 1,ls1
if(dummy(i:i).ne.' ') then
ls2=ls2+1
file1(ls2:ls2) = dummy(i:i)
endif
enddo
c second file
dummy=filin // img
ls1 = len_trim(dummy)
ls2=0
do i = 1,ls1
if(dummy(i:i).ne.' ') then
ls2=ls2+1
file2(ls2:ls2) = dummy(i:i)
endif
enddo
write(*,*) file1
write(*,*) file2
stop
end
非常感谢您的提示!
答案 0 :(得分:3)
您永远不会设置整个file1
和file2
的值,因此您未明确设置为某些内容的字符可以是任何内容。
在开始时,您可以将字符串初始化为
file1 = ''
file2 = ''
它们将充满您需要的空间。
但你可能只想:
file1 = trim(filin) // doc
file2 = trim(filin) // img
而不是所有复杂的代码。