从字符串数组转换为char * const

时间:2017-02-01 20:42:36

标签: c++ arrays string

我正在寻找一种在使用字符串数组的C ++程序中调用execvp()的方法。因此,例如,如果我有一个字符串数组,

s[0] = "ls";
s[1] = "-l";

然后,s[i].c_str()将其转换为const char*。但是,我需要s[i]转换为char* const才能将其传递给execvp()。有没有办法在C ++中做到这一点?

1 个答案:

答案 0 :(得分:1)

我能够回答我自己的问题。我必须将const char*转换为char*

但是,由于C ++不允许从const char*转换为char*,因此我必须创建extern C函数。我将字符串s转换为C字符串(作为const char*),并将其传递给extern C函数。在C函数中,我可以将其从const char*转换为char*,然后将其传递给execvp()