将向量<char>作为参数,然后转换为字符串
Taking a vector<char> as a parameter and then converting to string
void conversionToString(vector<char>& x) {
string s(x.begin(), x.end());
cout << s;
}
int main() {
vector<char> test('a', 'b', 'c');
conversionToString(test);
return 0;
}
我正在尝试将一个字符串转换为一个char向量。在这个示例中,我只是在做一个简单的测试,但在我的实际项目中,我计划接受用户输入,并从向量(也是字符串(来回转换。使用在线编译,我得到错误消息:
main.cpp:在函数"int main(("中:main.cpp:1:36:error:调用"std::vector::vector(char,char,char("时没有匹配的函数矢量测试('a','b','c'(;
我希望得到一些建议,不仅是关于修复这个方法,而且关于这个方法的功能。
您的矢量初始化错误。你需要
vector<char> test{'a', 'b', 'c'};
关于该方法的功能,我认为转换没有多大意义。您可以打印矢量的元素:
for (auto c : test)
{
std::cout << c;
}
向量的初始值设定项应该如下所示(仅限C++11(:
vector<char> test{'a', 'b', 'c'};
一般来说,如果你应该将"从向量来回转换为字符串",这是值得怀疑的——你为什么要这样做?
如果使用C++11,可以使用带有vector<char>
:的初始值设定项列表
vector<char> test{'a', 'b', 'c'};
如果你不使用C++11,你将不得不以缓慢的方式进行:
vector<char> test;
test.push_back('a');
test.push_back('b');
test.push_back('c');
您正在获取函数中已经存在的字符向量。请重新表述你的问题。如果您想获取一个std::字符串并返回std::vector,这里有一个函数可以实现这一点:
std::vector<char> StringToChar(std::string str)
{
std::vector<char> charVector;
for (int i = 0; i < str.size(); ++i)
{
charVector.push_back(str.at(i));
}
return charVector;
}
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何将向量中的可变参数转换为参数的持有者?
- c++ 构造函数 将 1 个字符串参数转换为 3 个属性
- 将空*参数转换为各种类型的参数是UB吗?
- 将可变参数模板参数转换为 JSON 字符串
- C++ 如何将函数参数转换为字符串
- 功能指针参数参数转换为const
- 避免对模板运算符过载的隐式参数转换
- 将C 方法参数转换为模板参数会因编译错误而失败
- 将参数转换为lpwstr createProcess
- 在与时间一起使用 srand 时,如果我没有time_t参数明确地将参数转换为无符号的 int 参数,这有关系吗?
- 将C++整型模板参数转换为整型"longer"型
- 将参数转换为目标类型时,复制用于直接初始化的构造函数省略
- 将命令行参数转换为qimage
- 将可变数量的参数转换为明确的数量
- SDL 方法,参数转换
- 通过错误检查将参数转换为整数
- 功能参数转换为儿童类C
- 参数转换在课堂上
- 在窗口上将格式化的 C 字符串和参数转换为 wstring