当您右键单击 Windows 中的程序(例如 starcraft.exe)并查看其属性时,会出现一个名为“target”的文本字段,其中包含二进制文件的完整路径。我见过能够解析添加到目标的标志的程序,例如“C:\programfiles\myprogram\myprogram.exe -x 1280 -y 360”,并且程序将以指定的分辨率启动。我的问题是如何阅读这些论点,如果它是由 argv[] 完成的,请告诉我我的愚蠢。
C++是语言,VS express 2012 desktop是环境。
当您右键单击 Windows 中的程序(例如 starcraft.exe)并查看其属性时,会出现一个名为“target”的文本字段,其中包含二进制文件的完整路径。我见过能够解析添加到目标的标志的程序,例如“C:\programfiles\myprogram\myprogram.exe -x 1280 -y 360”,并且程序将以指定的分辨率启动。我的问题是如何阅读这些论点,如果它是由 argv[] 完成的,请告诉我我的愚蠢。
C++是语言,VS express 2012 desktop是环境。
当您将可执行的 main 方法调用为 argc (count) 和 argv[] 参数时,您会收到这些参数,int main(int argc, char* argv[])您所要做的就是解析它们
这是一个示例如何解析命令行参数
您需要避免在没有 strncmp 的情况下比较 char* 和字符串文字。请记住,argc 是参数计数(包括程序名称)。
argv 是指定参数的 C 字符串数组(首先是调用的程序名称)。
在这种情况下,您通常最好使用诸如getopt之类的库。这将使交错选项、长选项和参数更易于管理(假设选项和参数之间的顺序在很大程度上并不重要)。