C++ split string via delimeter
#pragma once #pragma comment(lib,"rpcrt4.lib") #include <Windows.h> #include <rpcdce.h> #include <iostream> #include <string> #include <vector> using namespace std; void stringDemo() { string str = "Hello world"; string str2 = str.substr(12); cout << str << endl << str2 << endl; } string getUuid() { RPC_CSTR rpcStr; string uuidValue; UUID newUUID; UuidCreate(&newUUID); UuidToStringA(&newUUID, &rpcStr); uuidValue = (char*)rpcStr; RpcStringFreeA(&rpcStr); return uuidValue; } void splitString(string str, string delimeter) { size_t pos = 0; string tempStr; while ((pos = str.find(delimeter)) != string::npos) { tempStr = str.substr(0, pos); cout << tempStr << endl; str.erase(0, pos + delimeter.length()); } cout << str << endl; } void splitUuid() { string uuidStr = getUuid(); cout << uuidStr << endl; string delimeter = "-"; splitString(uuidStr, delimeter); } void splitStringToVector(vector<string> &vec, string sourceStr, string delimeter) { size_t pos = 0; string tempStr; while ((pos = sourceStr.find(delimeter)) != string::npos) { tempStr = sourceStr.substr(0, pos); vec.push_back(tempStr); sourceStr.erase(0, pos + delimeter.length()); } vec.push_back(sourceStr); } void stringSplitDemo() { string sourceStr = getUuid(); cout << sourceStr << endl; string delimeter = "-"; vector<string> vec; splitStringToVector(std::ref(vec), sourceStr, delimeter); vector<string>::iterator itr = vec.begin(); cout << "Split:" << endl; while (itr != vec.end()) { cout << *itr << endl; itr++; } } int main() { try { stringSplitDemo(); } catch (const std::exception&ex) { cout << ex.what() << endl; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现