运行后解析命令行参数

Parsing Command line Args after run

本文关键字:命令行 参数 运行      更新时间:2023-10-16

论坛上有人正在寻找如何解析运行程序后的命令行参数。人们给他提供了:

WCHAR * szCmdLine = L"insert x";
WCHAR ** argv;
int argc;
argv = CommandLineToArgvW(szCmdLine, &argc);

它有效…接受它只适用于我能在L中插入x的东西;我如何获得输入,然后设置WCHAR * szCmdLine等于输入的字符/字符串?

如果我创建一个名为cmd的字符,并尝试获取它的输入,然后执行

WCHAR * szCmdLine = cmd;

则给出错误:

source.cpp|18|error: cannot convert 'char*' to 'WCHAR* {aka wchar_t*}' in initialization|

我只想获得命令的自定义输入。抱歉,如果这是一个愚蠢的问题…

如果我正确理解您的意图(从标准输入读取数据,并像命令行一样解析它),您需要以下一般顺序:

std::wstring input;
std::wcout << L"Please enter arguments: ";
std::getline(std::wcin, input);
int argc;
wchar_t **argv = CommandLineToArgvW(input.c_str(), &argc);