c++ - 如何使用 boost c++ 打印字符串的第 n 个拆分?
问题描述
在“二”以下的情况下,我需要获得字符串的第二次拆分。
我尝试运行此代码:
#include <boost/algorithm/string.hpp>
#include <iostream>
#include <list>
#include <string>
int main()
{
std::string s = "one,two,three,four";
std::list<std::string> results;
boost::split(results, s, boost::is_any_of(","));
std::cout << results[1] << "";
}
我收到此错误:
error: no match for 'operator[]'
我该如何解决?
解决方案
cout << results[1] << "";
这不起作用,因为results
它是一个std::list
. std::list
不提供[]
运营商。在您的用例中,您应该使用 astd::vector
代替。
推荐阅读
- python - 如何在 Tensorflow 循环中转换循环?
- azure - 当我浏览 azure iot hub 教程时,创建错误分区计数为 4 的结尾 - 为什么?
- php - 尝试将 PDF 发票上传到亚马逊 MWS 会导致错误:“上传发票时请仅提供一个有效的商城”
- nginx - Nginx - 将许多子域重定向到静态本地 IP
- python - PyRFC 中超过 200 个对话的最大数量错误
- java - 如何在此视图中添加 toast onFinishInflate
- python - SeqLog 无法获取本地颁发者证书
- javascript - 在 ReactJs 中干涸/重构组件
- c - 重新分配内存时的分段错误
- azure-sql-data-warehouse - 单个用户的最大并发槽数