我正在尝试将字符串向量转换为 C++ 中的 char 数组。
更具体地说,我要做的是使用以下命令拆分像“ls –latr”这样的shell命令:
istringstream f(x);
while (getline(f, x, ' '))
{
strings.push_back(x);
}
我相信这会给我strings[0] == "ls"
和strings[1]==" -latr"
。
我正在尝试执行以下操作:
execvp(strings[0], strings);
但是,我收到此错误:
错误:无法将参数 '1' 的 'std::basic_string, std::allocator >' 转换为 'const char*' 到 'int execvp(const char*, char* const*)'</p>
因此,我试图弄清楚如何将字符串转换为 char 数组。