Ich würde auch das csv_file-Modul von FLIBS empfehlen. Fortran ist gut ausgestattet, um CSV-Dateien zu lesen, aber nicht so sehr, um sie zu schreiben. Mit dem Modul csv_file legen Sie
%Vor%am Anfang Ihrer Funktion / Unterroutine und rufen Sie dann mit:
auf %Vor%wobei unit = die Nummer der Dateieinheit, value = das Array oder der skalare Wert, den Sie schreiben möchten, und advance = .true. oder falsch. abhängig davon, ob Sie zur nächsten Zeile wechseln möchten oder nicht.
Beispielprogramm:
%Vor%Ausgabe:
1,2,3
4,5
Wenn Sie stattdessen nur den Schreibbefehl verwenden möchten, müssen Sie Folgendes tun:
%Vor%ist sehr verworren und erfordert, dass Sie die maximale Anzahl der Stellen kennen, die Ihre Werte haben.
Ich würde dringend empfehlen, das csv_file-Modul zu verwenden. Es hat mir sicher viele Stunden der Frustration erspart.
Hier ist was ich benutze (arbeitet mit G95):
%Vor%Der Intel-Compiler erkennt
%Vor%ohne überzählige Leerzeichen, und die Zeile kann mehr als 999 Spalten haben.
Um überflüssige Leerzeichen mit F95 zu entfernen, schreiben Sie zuerst in einen Zeichenpuffer und verwenden Sie dann Ihr eigenes CSV_write-Programm, um die überflüssigen Leerzeichen wie folgt herauszunehmen:
%Vor%Sie können auch
verwenden %Vor%wobei Ihr CSV_write-Programm in Buf Whitespace durch "," ersetzt. Dies ist insofern problematisch, als dass Zeichenvariablen nicht getrennt werden, es sei denn, es gibt zusätzliche Leerzeichen (d. H. "A", "abc" ist OK).