0

当您右键单击 Windows 中的程序(例如 starcraft.exe)并查看其属性时,会出现一个名为“target”的文本字段,其中包含二进制文件的完整路径。我见过能够解析添加到目标的标志的程序,例如“C:\programfiles\myprogram\myprogram.exe -x 1280 -y 360”,并且程序将以指定的分辨率启动。我的问题是如何阅读这些论点,如果它是由 argv[] 完成的,请告诉我我的愚蠢。

C++是语言,VS express 2012 desktop是环境。

4

2 回答 2

1

当您将可执行的 main 方法调用为 argc (count) 和 argv[] 参数时,您会收到这些参数,int main(int argc, char* argv[])您所要做的就是解析它们

这是一个示例如何解析命令行参数

于 2013-05-30T08:15:53.163 回答
0

您需要避免在没有 strncmp 的情况下比较 char* 和字符串文字。请记住,argc 是参数计数(包括程序名称)。

argv 是指定参数的 C 字符串数组(首先是调用的程序名称)。

在这种情况下,您通常最好使用诸如getopt之类的库。这将使交错选项、长选项和参数更易于管理(假设选项和参数之间的顺序在很大程度上并不重要)。

于 2013-05-30T08:26:29.837 回答