我目前正在写我的课是应该作为一个很基本的壳转让。我差不多完成了,但是我遇到了execvp
和我的字符数组参数问题。这是我的代码的一小段代码。C++为const char *为const char * const的
//Split the left content args
istringstream iss(left);
while(getline(iss, s, ' ')){
v.push_back(s);
}
//Get the split string and put it into array
const char* cmd_left[v.size()+1];
for(unsigned int i = 0; i < v.size(); i++){
cmd_left[i] = v.at(i).c_str();
}
cmd_left[v.size()] = 0;
v.clear();
,这是由...
execvp(cmd_left[0], cmd_left);
利用我的错误是
assign3.cxx:96:34: error: invalid conversion from ‘const char**’ to ‘char* const*’ [-fpermissive]
我明白,问题是,我的字符数组没有满常量数据,所以我需要从const char*
到const char* const
。我读了一些关于const_cast
的内容,但我不确定这是否是我需要做的。
如果你会这么好心,你能不能帮我把我的字符数组的数组通过该功能可以正确地接受?如果您需要我发布更多我的代码,请告诉我。
感谢
啊,非常感谢你。这样做更有意义。另外,我的代码的其余部分只是将字符串拆分为更易于管理的形式。也许有更好的办法,但它完成了任务,所以我很满足。 – Zerocaliber
@ user2272616欢迎您。 – yngccc