我有一个Visual Studio 2008 C++函数,该函数接收一个由以空字符结尾的字符串const char*
组成的数组以及该数组中字符串数的计数。
我正在寻找一种巧妙的方法,将const char*
数组转换为std::vector< std::string >
。
/// @param count - number of strings in the array
/// @param array - array of null-terminated strings
/// @return - a vector of stl strings
std::vector< std::string > Convert( int count, const char* array[] );
Boost很好,STL也很好。
const char*
数组转换为std::vector<std::string>
”(重点在于“数组”)。然后他使用了一个单独的const char*
作为函数参数。问题比代码更有意义--因此Noah编辑了代码以反映问题。如果OP的意思是代码,那么他有责任说出来--而不是让你对所有善意的答案进行投票否决,这可能是他的问题。 - Stuart Golodetzconst char **
,因为第一个元素是const char *
。你当然可以在char数组中编码一系列以空字符结尾的字符串(然后根据这个假设解决问题,就像你所做的那样)--我并不是在争论这个--但这不是一个const char *
数组,这似乎是OP的意思(这只是一个简单的拼写错误)。无论如何,让我们继续。 - Stuart Golodetz