C++ 运行后分析命令行参数

C++ 运行后分析命令行参数,c++,C++,论坛上有人在研究如何在运行程序后解析命令行参数。人们为他提供了: WCHAR * szCmdLine = L"insert x"; WCHAR ** argv; int argc; argv = CommandLineToArgvW(szCmdLine, &argc); 而且它是有效的。。。接受它只适用于我可以在L“插入x”中输入的内容; 如何获取输入,然后将WCHAR*szCmdLine设置为等于输入的字符/字符串 如果我创建一个名为cmd的字符,并尝试获取它的输入,然后 WCHA

论坛上有人在研究如何在运行程序后解析命令行参数。人们为他提供了:

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);
std::wstring输入;

我们不清楚你想要什么。呃。。。我知道这是。。。让我编辑一下我的问题,如果你只阅读它,这个错误应该是很自然的解释。
wchar\u t
char
是两种不同的类型,你不能简单地从一种转换到另一种。例如,您必须使用将窄(
char
)字符串转换为宽(
wchar\t
)字符串。