| Thread Closed |
Fortran question, read from file |
Share Thread | Thread Tools |
| Jul1-09, 01:57 PM | #1 |
|
|
Fortran question, read from file
Hello. I'm completely new to programming, and I'm having some troubles with a Fortran program I'm writing.
I have an input file containing three columns, where each column contains a couple of cartesian coordinates (column 1 contains various x coordinates, and so on). What I would like my program to do is to keep one (or two) coordinate constant, while varying the rest. The relevant part of my code looks like this: open(11, file="filnamn") do i=1,N read(11, *) 1, 2, 3 ... Here all the columns are read. But if I want the program to read only column 2 and 3 I can't write read(11,*) 2, 3 since this of course would make it read column 1 and 2. So my question is: How can I make the program read a specific column? |
| Jul1-09, 09:42 PM | #2 |
|
|
You need to learn how to use fromatted read statements. What you are using now is free format reading.
Example: read(11,100)x_coordinate,y_coordinate 100 format(3x,F12.9,3x,F12.9) this will skip 3 spaces and read a real number in the format nn.nnnnnnnnn then skip another 3 spaces and read another real number in the format nn.nnnnnnnnn Take some time to learn different formats |
| Jul2-09, 06:45 AM | #3 |
|
Recognitions:
|
Just read all three each time anytimes, but keep the previous values stored
Code:
DO n=1,nPts READ(11,*) A(n),B(n),C(n) IF (whatever) THEN A(n) = Alast END IF Alast = A(n) Blast = B(n) Clast = C(n) END DO |
| Jul4-09, 04:51 PM | #4 |
|
|
Fortran question, read from file
Thanks for trying to help me, guys. I found out that I was on the wrong track, though.
|
| Jul4-09, 08:23 PM | #5 |
|
|
I program in c++ however I have used fortran. If you have a pointer with the
address of the starting data ( your mem mapped data) write a struct which coresponds to the data i.e. struct{ |
| Jul4-09, 08:32 PM | #6 |
|
|
I program in c++ however I have used fortran. If you have a pointer with the
address of the starting data ( your mem mapped data) write a struct which coresponds to the data i.e. struct memmap { int a float b double int +, ect... } Then point the struct to the starting address and if you created the struct to match your data your finished. I don't know the fortran syntax for a struct of hand. however you should be able to find that. Trick is declaring it a pointer. If all goes wrong write a c routine then link it via a call from fortran. You can also write an assembler interface between a C routine and fortran Geo. |
| Thread Closed |
| Thread Tools | |
Similar Threads for: Fortran question, read from file
|
||||
| Thread | Forum | Replies | ||
| Fortran read | Programming & Comp Sci | 9 | ||
| Fortran: how do you read from a memory-mapped file? | Programming & Comp Sci | 1 | ||
| Fortran - How to retrieve read near middle or end of large file quickly. | Programming & Comp Sci | 2 | ||
| Deleting a file that "can not read from the source file or disk" | Computers | 13 | ||