Mam istniejący plik napisany przez program Fortran (sformatowany) i chciałbym dodać kilka wierszy na początku pliku. Chodzi o to, aby zrobić to bez tworzenia kopii oryginalnego pliku.Napisz istniejący plik bez nadpisywania w Fortranie
mogę dodać linię na końcu pliku z:
open(21,file=myfile.dat,status='old',action='write',
form='formatted',position="append")
write(21,*) "a new line"
ale kiedy próbowałem:
open(21,file=myfile.dat,status='old',action='write',
form='formatted',position="rewind")
write(21,*) "a new line"
nadpisuje cały plik.
To może być niemożliwe. Przynajmniej, byłbym zadowolony, gdyby otrzymałem potwierdzenie, że jest to faktycznie niemożliwe.
Ale nie trzeba czytać całego starego pliku do pamięci w pewnego razu. Użyj systemu operacyjnego, aby zmienić nazwę starego pliku na plik tymczasowy. Następnie utwórz nowy plik, używając starej nazwy pliku i wprowadź żądane dane. Następnie dołącz stary plik do nowego pliku. (W zależności od systemu operacyjnego i rodzaju danych pliku, możesz to zrobić w systemie operacyjnym.) – dmm
"najpierw wykonaj kopię" obejmuje również twoją sytuację. –