最近我开发了一个程序,我必须调用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
失败答案 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++;
}
}