cpp string split by delimeter and push back into vector
void util::split_string_demo() { std::string str=get_uuid(); std::string delimiter="-"; std::vector<std::string> vec; split_string(str,delimiter,vec); print_vector(vec); print_log(std::string(__FUNCTION__)); } void util::print_vector(const std::vector<std::string> &vec) { for(auto const &str:vec) { std::cout<<str<<std::endl; } } void util::split_string(std::string& str, const std::string& delimiter,std::vector<std::string> &vec) { std::cout << str << std::endl; std::string temp_str; int start = 0, end = 0; while ((end = str.find(delimiter, start)) != std::string::npos) { temp_str = str.substr(start, end-start); vec.push_back(temp_str); start = end + delimiter.length(); } temp_str=str.substr(start); if(!temp_str.empty()) { vec.push_back(temp_str); } } void util::print_log(const std::string &str) { std::cout << get_time_now() << ", in " << str << std::endl; } std::string util::get_time_now() { std::chrono::time_point now = std::chrono::high_resolution_clock::now(); time_t raw_time = std::chrono::high_resolution_clock::to_time_t(now); struct tm tm_info = *localtime(&raw_time); std::stringstream ss; auto mills = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()); auto seconds = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()); uint64_t mills_count = mills.count() - seconds.count() * 1000; ss << std::put_time(&tm_info, "%Y%m%d%H%M%S") << std::setw(3) << std::setfill('0') << mills_count; return ss.str(); } std::string util::get_uuid() { uuid_t new_uuid; uuid_generate(new_uuid); char *uuid_value = (char *)malloc(40); uuid_unparse(new_uuid, uuid_value); std::string uuid_str(uuid_value); free(uuid_value); return uuid_str; }
g++ -std=c++2a -I. *.cpp ./model/*.cpp -o h1 -luuid -lpthread
Be cautious in cpp substring(start_index,length) method,the length is the length,instead of index
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2020-02-12 C# bubble sort,selection sort,insertion sort