如何从win32应用程序中的命令行参数获取std :: string?

Rel*_*lla 5 c++ string command-line arguments std

所以现在我有一个

int main (int argc, char *argv[]){}

如何使它基于字符串?会int main (int argc, std::string *argv[])够的吗?

luk*_*uke 26

你不能改变主要的签名,所以这是你最好的选择:

#include <string>
#include <vector>

int main(int argc, char* argv[])
{
    std::vector<std::string> params(argv, argv+argc);
    // ...
    return 0;
}
Run Code Online (Sandbox Code Playgroud)


Jos*_*ine 4

如果您想从传递的输入参数中创建一个字符串,您还可以添加字符指针来自己创建一个字符串

#include <iostream>
#include <string>
using namespace std;

int main(int argc, char* argv[])
{

string passedValue;
for(int i = 1; i < argc; i++)
 passedValue += argv[i];
    // ...
    return 0;
}
Run Code Online (Sandbox Code Playgroud)