【发布时间】:2015-06-06 20:14:31
【问题描述】:
所以,我正在开发一个读取文件的应用程序,就像 vim 或 cat 一样,您可以在其中键入“appname /path/to/file.txt”并将文件路径作为参数传递给程序以某种方式操纵文件。
不过,我遇到了障碍。在 vim、cat 或类似程序中,您可以键入“appname file.txt”,它会读取您从终端启动应用程序的当前目录中的文件。
例如,我想在我的文档目录中编辑一个文件。我输入“cd ~/Documents”,然后我可以输入“vim ~/Documents/Essay.txt”,也可以输入“vim Essay.txt”。
我的应用程序将存储在 /bin/ 目录中的二进制文件中,因此我可以使用终端从任何地方启动它,但是当我从终端调用它时,如何传递我所在目录的路径名?
由于我是一名新的 Linux 开发人员(我一直使用 Windows 中的 .NET 语言),我不确定这是由 Linux 终端还是由 C 应用程序本身处理的。
任何帮助或建议将不胜感激!
另外,如果有比将其粘贴在 /bin/ 中更有效的方式从终端运行它,请告诉我。
【问题讨论】:
-
你在终端中的目录就是你程序启动时的当前目录。
-
@immibis,真的吗?棒极了!那么当我传递给它没有路径的文件名时,它会读取它吗?
-
@thesupergeek - 如果您只想传递文件名,例如
myapp file.txt,然后您可以将参数传递给fopen等,它会将其解释为常规路径,因此它会在当前目录中搜索。 -
@teppic 回答了我的问题!谢谢!