如何在运行终端应用程序中获取命令行参数

时间:2011-09-21 08:50:51

标签: objective-c macos

在MAC OS中,我通过目标C创建了一个终端应用程序,通过main函数获取启动时的命令行参数。

现在我需要在运行时获得额外的输入。那么如何在运行时获取它们? 是

[[NSRunLoop mainRunLoop] run]

帮助达到这个目的?

1 个答案:

答案 0 :(得分:0)

正如FélixSaparelli指出的那样,你不是在谈论在命令行传递给你的程序的参数意义上得到“命令行参数”,例如: thisfile这样的命令中的cat thisfile,你说的是你的程序接受命令,或者至少接受来自终端的输入,所以,正如他所说的那样,你需要阅读标准输入。

NSRunLoop本身不会为你做那件事。您可以将程序视为一个常规的UN * X程序,恰好用Objective-C编写,使用标准C库例程(例如fgets())或Foundation类(例如{{1}假设NSString的{​​{1}}方法没有做一些无用的操作,例如尝试读入整个文件并将其用作字符串,因为“读取整个文件“在读取标准输入时通常不常用(它不会一次读取一行,它只会继续读取,直到你键入control-D)。