如何在C ++

时间:2018-05-10 22:54:43

标签: c++

最近我开发了一个程序,我必须调用system();来接收const char*。我需要在这个调用中使用一个字符串数组。这是一些示例代码。

#include <iostream>
#include <windows.h>
#include <string>

using namespace std;

int main()
{
    string stackoverflow[5] = {"a", "b", "c", "d", "e"};
    int i = 0;

    while(i <= 5)
    {
        system("wget -O" + stackoverflow[i] + "\"www.google.com\"");
        i++;
    }   
}

旁注:我尝试使用const char b = stackoverflow[i].c_str(),但我收到了错误:

  

表达式必须具有整数或未整合的枚举类型

  

&#39; +&#39;不能添加两个指针

BTW,我正在使用Visual Studio。我不知道此时应该做些什么。

感谢阅读。我是新手,所以任何帮助都会受到赞赏。我很感激一个解决方案,不需要将我的数组转换为向量,因为我在这个项目中有很多代码,需要重组大量的代码。 PS抱歉我能在c + p

失败

2 个答案:

答案 0 :(得分:7)

首先创建组合字符串,然后使用std::string.c_str()函数。

std::string combined = "wget -O" + stackoverflow[i] + "\"www.google.com\"";
system(combined.c_str());

答案 1 :(得分:2)

试试这个:

int main()
{
    string stackoverflow[5] = {"1","2","3","4","5"};
    int i = 0;
    while (i < 5)
    {
        string args = "wget -O" + stackoverflow[i] + "\"www.google.com\"";
        system(args.c_str());
        i++;
    }
}