如何在C++中使用带有system()函数的字符串变量

iZe*_*ify 0 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++;
    }   
}
Run Code Online (Sandbox Code Playgroud)

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

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

'+'不能添加两个指针

顺便说一下,我正在使用Visual Studio.我不知道在这一点上我应该做些什么.

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

R S*_*ahu 7

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

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