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

Fortran调用系统(';input.txt';)运行时修改,fortran,runtime,osx-yosemite,system-calls,Fortran,Runtime,Osx Yosemite,System Calls,我需要运行一个需要在input.txt文件中列出的某些输入的程序。我希望在执行程序时能够调用此文件,以便在执行其余代码之前,根据需要修改input.txt文件 我在Mac OS X上运行 我得到的是: call system('notes input.txt') 我得到以下信息: sh:注意:未找到命令 是否有一种特殊的方法来调用应用程序notes,或者我的错误在其他地方?您没有在系统函数发送到命令shell的字符串(“notes input.txt”)中指定完整的文件系统路径。这意味着您希望

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

我在Mac OS X上运行

我得到的是:

call system('notes input.txt')
我得到以下信息:

sh:注意:未找到命令


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

您没有在系统函数发送到命令shell的字符串(“notes input.txt”)中指定完整的文件系统路径。这意味着您希望shell的$PATH中有一个名为“notes”的二进制文件,而shell告诉您这不是真的。Notes应用程序没有命名为“Notes”,并且它不存在shell的$PATH指向的某个地方。这就是为什么您会收到此错误消息。尝试向shell传递要运行的二进制文件和要编辑的文件的完整路径:

呼叫系统(“/Applications/Notes.app/Contents/MacOS/Notes/path/to/input.txt”)


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

您没有在系统函数发送到命令shell的字符串(“Notes input.txt”)中指定完整的文件系统路径。这意味着您希望shell的$PATH中有一个名为“notes”的二进制文件,而shell告诉您这不是真的。Notes应用程序没有命名为“Notes”,并且它不存在shell的$PATH指向的某个地方。这就是为什么您会收到此错误消息。尝试向shell传递要运行的二进制文件和要编辑的文件的完整路径:

呼叫系统(“/Applications/Notes.app/Contents/MacOS/Notes/path/to/input.txt”)


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

您没有在系统函数发送到命令shell的字符串(“Notes input.txt”)中指定完整的文件系统路径。这意味着您希望shell的$PATH中有一个名为“notes”的二进制文件,而shell告诉您这不是真的。Notes应用程序没有命名为“Notes”,并且它不存在shell的$PATH指向的某个地方。这就是为什么您会收到此错误消息。尝试向shell传递要运行的二进制文件和要编辑的文件的完整路径:

呼叫系统(“/Applications/Notes.app/Contents/MacOS/Notes/path/to/input.txt”)


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

您没有在系统函数发送到命令shell的字符串(“Notes input.txt”)中指定完整的文件系统路径。这意味着您希望shell的$PATH中有一个名为“notes”的二进制文件,而shell告诉您这不是真的。Notes应用程序没有命名为“Notes”,并且它不存在shell的$PATH指向的某个地方。这就是为什么您会收到此错误消息。尝试向shell传递要运行的二进制文件和要编辑的文件的完整路径:

呼叫系统(“/Applications/Notes.app/Contents/MacOS/Notes/path/to/input.txt”)

(注意:这条路径就是Notes应用程序在我的Mac上的位置;YMMV。)

试试看

call system("/Applications/TextEdit.app/Contents/MacOS/TextEdit /path/to/input.text")
/Applications/TextEdit.app
位置有点误导人,因为它实际上是一个文件夹。在Finder中,如果您选择单击它,您可以选择查看内容(不确定该选项的确切措辞,因为我目前没有mac)。或者,
cd/Applications/TextEdit.app;ls
以查看内容。可执行文件应存储在如上所示的子目录中。

试试看

call system("/Applications/TextEdit.app/Contents/MacOS/TextEdit /path/to/input.text")
/Applications/TextEdit.app
位置有点误导人,因为它实际上是一个文件夹。在Finder中,如果您选择单击它,您可以选择查看内容(不确定该选项的确切措辞,因为我目前没有mac)。或者,
cd/Applications/TextEdit.app;ls
以查看内容。可执行文件应存储在如上所示的子目录中。

试试看

call system("/Applications/TextEdit.app/Contents/MacOS/TextEdit /path/to/input.text")
/Applications/TextEdit.app
位置有点误导人,因为它实际上是一个文件夹。在Finder中,如果您选择单击它,您可以选择查看内容(不确定该选项的确切措辞,因为我目前没有mac)。或者,
cd/Applications/TextEdit.app;ls
以查看内容。可执行文件应存储在如上所示的子目录中。

试试看

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

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

什么是notes?这个调用的目的是什么?请注意,执行命令行的标准方式是由execute_command_line提供的:我的意思是说textdedit不是notes。目的是,我有一个输入文件,我把它传递到程序中。可以更改,因此我希望打开input.txt文件,以便在将其传递到程序之前对其进行修改。在使用microsoft developer studio fortran power station的windows中,它是这样完成的:call=systemqq(“notepad inout.txt”)什么是notes?这个调用的目的是什么?请注意,执行命令行的标准方式是由execute_command_line提供的:我的意思是说textdedit不是notes。目的是,我有一个输入文件,我把它传递到程序中。可以更改,因此我希望打开input.txt文件,以便在将其传递到程序之前对其进行修改。在使用microsoft developer studio fortran power station的windows中,它是这样完成的:call=systemqq(“记事本输入”)。