2011-10-19 8 views
1

나는 변수의 현재 값을 표시하는 포트란 코드를 작성합니다. 사용자가 현재 값을 유지하려면 Enter를 누르십시오. 그렇지 않으면 새 문자열을 입력하게됩니다.사용자 정의 표준 입력

내 질문은 새 문자열을 읽는 동안, 나는 그가 심지어 공간을 입력하면, 그것은

EG 그를 볼 것이다, 그래서이 문자 사이에 와야한다> < 커서를 표시 할 :

WRITE(*,*)'Current value is 'curVal 

다음 줄의 문장에서 새 문자를 읽으십시오. 저는 fortran을 처음 접했을 때 읽기 문에서 형식이 아닌 varial 만 입력 할 수 있다고 생각합니다.

EG :

READ(*,*)curVal 

하지만 읽을 수 없습니다 (,) '>', curval는 '<'

은 내가 어떻게 처리 말해 두 번째 statemnt.Could처럼 표시 할 이 경우에 읽는가 ??

+0

부적절한 게시물 제목. –

답변

2

이것은 포트란 언어가 제공/보증하지 않은 터미널 IO 제어 수준이라고 생각합니다. Return/Enter 키를 누르기 만하면 현재 값을 유지할 수있는 편리한 입력을 제공하기 위해 다음과 같은 작업을 수행 할 수 있습니다.

write (*, '("Input new value, or press Enter to retain", I0, ". Input: ")', advance="no") current_value 
read (*, '(A)') string 
if (len_trim(string) == 0) then 
    new_value = current_value 
else 
    read (string, *) new_value 
end if 
+0

많은 감사합니다 !! 공백이있는 키보드에서 문자열을 읽는 방법에 대한 질문이 하나 더 있습니까 ??? – Kittu

+0

got it !!! read (*, (A)) : D – Kittu

관련 문제