1、function用法
定义:
std::function<int(AdvancedNotificationService *, const std::string, const sptr<NotificationRequest>)> f = std::bind(&AdvancedNotificationService::Publish, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);
调用:
f(AdvancedNotificationService 对象, string, sptr<NotificationRequest> 对象);
2、json转string
std::string DevSchedPlugin::GetJsonString(Json::Value& payload) const
{
Json::StreamWriterBuilder writerBuilder;
writerBuilder["indentation"] = "";
writerBuilder["precision"] = 16;
std::unique_ptr<Json::StreamWriter> const jsonWriter(writerBuilder.newStreamWriter());
std::stringstream ss;
jsonWriter->write(payload, &ss);
return ss.str();
}
或:
Json::Value json_value;
Json::FastWriter json_write;
string str = json_write.write(json_value);
cout<<str.c_str()<<endl;
3、删除所有的空格
std::string in = "hello, world";
in.erase(std::remove(in.begin(), in.end(), ' '), in.end());
4、字符串分割
#include <iterator> #include <regex> std::vector<std::string> s_split(const std::string& in, const std::string& delim) { std::regex re{ delim }; // 调用 std::vector::vector (InputIterator first, InputIterator last,const allocator_type& alloc = allocator_type()) // 构造函数,完成字符串分割 return std::vector<std::string> { std::sregex_token_iterator(in.begin(), in.end(), re, -1), std::sregex_token_iterator() }; }