2017-07-21 4 views
0

ich ein Fortran-Programm haben ursprünglich auf Windows kompiliert wird, wird es klar Eingabetextdateien und erzeugt Klarausgabetextdateien, den Schreibbefehl schreiben:Newline Linux Fortran Ausgang nicht kompatibel mit Windows

 

    do fig=180,0,-1 
    write(jfil,'(i3.3,2x,f7.5,1x,f7.4,1x,2(1x,f9.4,1x,a3),2(2x,i3),2(1x,f9.4,1x,a3))') & 
    fig,xc(fig),cc(fig),(Pcav(je),fcav(je),je=1,2),agav,agad,(Pcad(je),fcad(je),je=1,2) 
    enddo 

Ich muss kompiliert und ausgeführt es unter Linux, aber ich habe Probleme mit der Endline-Char-Kompatibilität, wenn ich auf Windows die Ausgabedateien lesen. Das ist, was ich am Fenster auf dem Notizblock Programm erwarten

 
177 0.99947 0.2519  9.5946 com 36.4488 exp 3 357 9.5882 asp 36.6517 sca 
176 0.99905 0.3358  9.5988 com 36.2943 exp 4 356 9.5874 asp 36.6534 sca 
175 0.99851 0.4197  9.6043 com 36.0974 exp 5 355 9.5865 asp 36.6557 sca 
174 0.99786 0.5036  9.6110 com 35.8594 exp 6 354 9.5853 asp 36.6585 sca 


Das ist, was ich

177 0.99947 0.2519  9.5946 com 36.4488 exp 3 357 9.5882 asp 36.6517 sca 176 0.99905 0.3358  9.5988 com 36.2943 exp 4 356 9.5874 asp 36.6534 sca 175 0.99851 0.4197  9.6043 com 36.0974 exp 5 355 9.5865 asp 36.6557 sca 174 0.99786 0.5036  9.6110 com 35.8594 exp 6 354 9.5853 asp 36.6585 sca



Es erhalten die gleiche Leistung, aber ohne Zeilenumbrüche, ist alles in einem Zeilenausgabe Es ist das bekannte Kompatibilitätsproblem zwischen Linux und Windows: Linux verwenden "\ n" und Windows verwenden "\ r \ n", um neue Zeilen zu schreiben

Gibt es ein Gfortran-Flag, um die Ausgabe so zu ändern, dass sie mit Windows kompatibel ist? Gibt es eine andere Möglichkeit, dieses Problem zu beheben?

+0

Welche Probleme haben Sie? Wie stellen sie aus? Wie schreibst und liest du die Dateien? Wir müssen den Code sehen, der die E/A ausführt. Siehe [fragen] und [mcve]. –

+0

Ich habe 34 verschiedene .f90-Dateien Ich kann nicht alles posten, diese Dateien werden mit dem "write" -Befehl gemacht, ich werde meine Frage bearbeiten, um genauer zu sein – BugliL

+0

Sie haben immer noch nicht sagen, verwenden ** welche Art von Problemen * * du hast. Wir haben keine Kristallkugel, wirklich. Zeigen Sie uns, welcher Lesebefehl das Problem verursacht und spezifizieren Sie das Problem. –

Antwort

1

Gfortran und mehrere andere Sprachen/Laufzeiten unter Windows sollten Ihre Dateien auch mit den Unix-Linienabschlüssen gut lesen. Sie müssen uns Einzelheiten über den Fehler mitteilen, den Sie tatsächlich beim Lesen in VBA oder anderswo haben, andernfalls können wir Ihnen nicht sagen, wie Sie es vermeiden können.

Gibt es eine andere Möglichkeit, dieses Problem zu beheben?

Ja, Sie können das bekannte unix2dos-Dienstprogramm ausführen, um die Datendateien in das DOS/Windows-Format zu konvertieren. Oder ein alternatives Dienstprogramm, das auf der verlinkten Webseite erwähnt wird.

+0

Ok, es war mein Fehler, ich habe nicht klargestellt, dass ich die Ausgabedatei nicht in Fortran, sondern in anderen Sprachen (VBA, Python, C++, Java) lese. – BugliL

+0

Vielen Dank für dieses Dienstprogramm, das ich nicht gemacht habe t wissen – BugliL

+0

Irgendein Grund für den Downvote? Was soll ich verbessern? –

Verwandte Themen