File: inquire_02.f90

package info (click to toggle)
lfortran 0.58.0-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 54,512 kB
  • sloc: cpp: 162,179; f90: 68,251; python: 17,476; ansic: 6,278; yacc: 2,334; sh: 1,317; fortran: 892; makefile: 33; javascript: 15
file content (20 lines) | stat: -rw-r--r-- 655 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program inquire_02
    type :: string_t
        character(:), allocatable :: s
    end type
    integer :: unit, pos_value
    character(len=1) :: ch
    logical :: ex
    type(string_t) :: temp
    temp%s = "data.txt"

    open(unit=10, file="data.txt")
    write(10, '(A)', advance='no') 'abcd'  ! writes 4 characters, no newline
    rewind(10)                            ! go back to start
    read(10, '(A)', advance='no') ch      ! read 1 character (1 byte)
    inquire(unit=10, pos=pos_value)
    inquire(file="data.txt", exist=ex)
    print *, "Position:", pos_value
    if(pos_value /= 2) error stop
    if(ex .neqv. .true.) error stop
end program