c++ - 涵盖 boost::trim 并接受 std::vector 的函数
问题描述
void trimMyStrings(std::vector<std::string> &dataVectors) {
for(auto &dataVector : dataVectors) {
boost::algorithm::trim(dataVector);
}
}
int main() {
std::string firstWord = " blaasldlasasdasd ";
std::string secondWord = " asdasdasd ";
std::vector<std::string> combineWord{firstWord, secondWord};
trimMyStrings(combineWord);
std::cout << firstWord << "&" << "secondWord";
}
上面的代码不起作用
没有错误,但firstWord
并secondWord
没有得到修剪cout
我如何使它工作?
解决方案
您需要对放入向量中的原始字符串的引用。
std::vector<std::string*> combineWord{&firstWord, &secondWord};
然后trimMyStrings
你需要更新它的参数,如:
void trimMyStrings(std::vector<std::string*> &dataVectors)
然后将 trim 与以下内容一起使用:
boost::algorithm::trim(*dataVector);
推荐阅读
- date - Kotlin:获取两个日期之间的差异(现在和以前的日期)
- vba - 未设置对象变量 - 为什么未返回此 Dictionary 对象?
- .net - 如何在 VSTO 的“另存为”对话框中选择目录而不是文件?
- vue.js - 对 vue.js 中的每个子路由使用 v-if
- android - Android studio WebView - 下载完成但无法打开文件
- sql - 寻找达到的最高阈值
- python - Python:二进制掩码中从索引到 1 的距离
- json - 从舞台选择时格式总是json吗?
- angular - 带有扩展运算符的 rxjs zip 仅在业力测试中失败
- wordpress - 从现有的 GCP wordpress 设置问题