字符串转vector
时间: 2023-09-03 16:09:01 浏览: 106
回答: 字符串转vector<char>可以通过以下两种方式实现。第一种方式是使用vector的构造函数,将字符串的起始地址和结束地址作为参数传入。例如,可以使用以下代码将字符串转换为vector<char>:
std::vector<char> vec1(buf, buf+strlen(buf));
vec1.emplace_back('\0');
\[3\]这种方式需要注意的是,vector中只存储了const char *中的数据部分,没有包含字符串的结束符 '\0'。如果需要输出字符串或者获取vector的大小,需要在vector的末尾添加 '\0'。
第二种方式是先定义一个空的vector<char>,然后使用assign()函数将字符串的起始地址和结束地址作为参数填充数据。例如,可以使用以下代码将字符串转换为vector<char>:
vector<char> vec2;
vec2.assign(buf, buf+strlen(buf));
vec2.emplace_back('\0');
\[3\]同样地,这种方式也需要在vector的末尾添加 '\0',以便正确输出字符串和获取vector的大小。
#### 引用[.reference_title]
- *1* *2* *3* [C++ string、vector和(const)char *之间的转换](https://blog.csdn.net/weixin_38331755/article/details/125583925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文