manjurul
02-03-2011, 11:25 AM
Hi everyone,
I need an example of a program which is for file processing. I have tried the following program, but it gave me error. Please help me..
program Direct_Access_File_Demo
implicit none
integer :: RecordLenght
integer :: OpenStatus, InputStatus, PartNumber
character(20) :: FileName
character(31) :: PartsRecord(31)
write (*, '(1X, A)', ADVANCE = "NO") "Enter name of file: "
read *, FileName
! RecordLength = 31
open (UNIT = 10, FILE = FileName, STATUS = "OLD", &
ACCESS = "DIRECT", ACTION = "READ", POSITION = "REWIND", &
FORM = "FORMATTED", RECL = 31, IOSTAT = OpenStatus)
if (OpenStatus > 0) stop " *** Cannot open file *** "
do
write (*, '(1X, A)', ADVANCE = "NO") &
"Enter part number (0 to stop): "
read *, PartNumber
if (PartNumber == 0) exit
read (UNIT = 10, FMT = '(A)', REC = PartNumber, &
IOSTAT = InputStatus) PartsRecord
if (InputStatus == 0) then
print '(1X, "Part", I3, ": ", A)', PartNumber, PartsRecord
else
print '(1X, "Invalid part number: ", I3)', PartNumber
end if
end do
close(10)
end program Direct_Access_File_Demo
I need an example of a program which is for file processing. I have tried the following program, but it gave me error. Please help me..
program Direct_Access_File_Demo
implicit none
integer :: RecordLenght
integer :: OpenStatus, InputStatus, PartNumber
character(20) :: FileName
character(31) :: PartsRecord(31)
write (*, '(1X, A)', ADVANCE = "NO") "Enter name of file: "
read *, FileName
! RecordLength = 31
open (UNIT = 10, FILE = FileName, STATUS = "OLD", &
ACCESS = "DIRECT", ACTION = "READ", POSITION = "REWIND", &
FORM = "FORMATTED", RECL = 31, IOSTAT = OpenStatus)
if (OpenStatus > 0) stop " *** Cannot open file *** "
do
write (*, '(1X, A)', ADVANCE = "NO") &
"Enter part number (0 to stop): "
read *, PartNumber
if (PartNumber == 0) exit
read (UNIT = 10, FMT = '(A)', REC = PartNumber, &
IOSTAT = InputStatus) PartsRecord
if (InputStatus == 0) then
print '(1X, "Part", I3, ": ", A)', PartNumber, PartsRecord
else
print '(1X, "Invalid part number: ", I3)', PartNumber
end if
end do
close(10)
end program Direct_Access_File_Demo