Fortran 调用系统('input.txt') 运行时修改



我需要运行一个程序,该程序需要input.txt文件中列出的某些输入。我希望在执行程序时能够调用这个文件,这样我就可以在执行其余代码之前修改input.txt文件。

我在Mac OS x上运行。

我有的是:

call system('notes input.txt')

我得到以下消息:

sh: notes: command not found

是否有一种特殊的方式来调用应用程序notes,或者是我的错误在其他地方?

您没有在SYSTEM函数发送给命令shell的字符串("notes input.txt")中指定完整的文件系统路径。这意味着您希望在shell的$PATH中有一个名为"notes"的二进制文件,但是shell告诉您这不是真的。Notes应用程序不命名为"Notes",它也不在shell的$PATH所指向的某个地方。这就是得到这个错误消息的原因。尝试将要运行的二进制文件和要编辑的文件的完整路径传递给shell:

CALL SYSTEM("/Applications/Notes.app/Contents/MacOS/Notes /path/to/input.txt")

(注意:这个路径是我Mac上的Notes应用程序所在的路径;YMMV)。

Try

call system("/Applications/TextEdit.app/Contents/MacOS/TextEdit /path/to/input.text")

/Applications/TextEdit.app位置有点误导,因为它实际上是一个文件夹。在Finder中,如果你选择点击它,你可以选择查看内容(不确定这个选项的确切措辞,因为我现在没有mac在我身上)。或者输入cd /Applications/TextEdit.app; ls查看内容。可执行文件应该存储在如上所示的子目录中。

最新更新