[英]Unpack char array to strings in c++
必须有一种更优雅的方法来将char数组解压缩为字符串数组:
void loadNames(int size, char *inp[])
{
size_t i;
for (i = 0; i < size; i++){
string s = ""
while ( char(*inp[i]) != '\0' ) s.push_back(*inp[i]++);
cout << "String " << i << " = " << s.c_str() << endl;
}
}
任何线索-高度赞赏!
有一种简单的方法来构造所有这些std::string
并将它们放入std::vector
(无多余副本):
std::vector<std::string> v(inp, inp+size);
这是向量的范围初始化程序,与string的c字符串初始化程序结合使用。
使用std::vector<std::string>
并使用其范围构造函数填充它。 然后遍历并打印每个字符串:
void loadNames(int size, char* inp[])
{
std::vector<std::string> v(inp, inp + size);
size = 0;
for (auto&& x : v) {
std::cout << "String " << ++size << x << std::endl;
}
}
直接从char*
构造。
string s(inp[i]);
cout << "String " << i << " = " << s.c_str() << endl;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.