gpt4 book ai didi

c - 将命令行参数作为一个大字符串获取

转载 作者:行者123 更新时间:2023-11-30 19:52:27 26 4
gpt4 key购买 nike

我知道我可以获得整个命令行

LPWSTR commandLine = GetCommandLineW();

并从中获取所有零件

int argv = 0;
LPWSTR* szArglist = CommandLineToArgvW(commandLine, &argv);

但是启动时

$ myapp.exe arg1 arg2 arg3

它始终包含可执行文件本身的名称(myapp.exe arg1 arg2 arg3)。

如何将所有参数作为一个大字符串(arg1 arg2 arg3)获取。

最佳答案

当您说“如何将所有参数作为一个大字符串获取”时,您实际上是什么意思?

如果您想要用于创建进程的确切参数,您只需调用 GetCommandLine 并跳过第一个参数。如果字符串以 " 开头,您将跳过直到找到结束的 ",否则您将跳过直到找到空格; while(*cmd > ' ')++cmd; 或类似的内容。

如果您需要处理后的参数,则需要连接从 1argc -1 的所有 argv 字符串。如果您从 main() 获取它们,则处理的含义取决于您的 C 运行时库。 MSDN 上记录了 CommandLineToArgvW 对引号和反斜杠的处理。由于参数已被处理,因此您无法使用此连接字符串来启动其他进程,因为所需的引号可能已被删除。

关于c - 将命令行参数作为一个大字符串获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57442229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com