000
08.12.2008, 09:53 Uhr
Athena
|
Bitte verschieben falls ich hier falsch bin!
Ich rufe einen alten Fortran exe von mein C++. Das mache ich mit CreateProcess. Der exe erwartet zwei Tastatur-Eingaben (UNIT=5). Das schaffe ich mit createPipe, ReadFile, WriteFile, die Strings kommen an, das sehe ich, weil Fortran dann glücklich ist und weiter macht. Ich muss die strings mit \n terminieren oder er erkennt sie nicht. Aber, diese strings sind Dateinamen, und er kann die Dateien nicht öffnen. Wenn ich das Ganze ohne C++ mache, also von Hand in einem Kommandfenster, läuft alles einwandfrei.
Ich vermute, dass ich die Strings anders terminieren muss, vielleicht mit noch einem Controlzeichen vor dem \n. Ich habe \f\n, \r\n probiert aber er kann die Dateien nicht öffnen. Hat jemand das schon gesehen? Was ist besonders an die C++ - Fortran Schnittstelle?
Ursprunglich lief alles unter Unix, vielleicht macht das einen Unterschied? Wenn er aus dem Kommandfenster läuft, liest er problemlos einige Dateien, die ich mit C++ erzeugt habe, immer mit \n als Endline. |