C 语言sscanf
C语言以sscanf逗号作为分割符
char buf_a[10]={0}; char buf_c[10]={0}; char buf_b[5]={0}; sscanf("/dev/ttyS0,115200,8,1,n","%[^,],%[^,],%[^,],%[^,],%s",buf_a,buf_c,&buf_b[1],&buf_b[2],&buf_b[3]); printf("*****************\n"); printf("%s\n", buf_a); printf("%s\n", buf_c); printf("%c\n", buf_b[1]); printf("%c\n", buf_b[2]); printf("%c\n", buf_b[3]);
以strtok作为分割符
char str[]="/dev/ttyS0,115200,8,1,n"; char *result=NULL; result=strtok(str,","); while(result!=NULL){ printf("result is \"%s\"\n",result); result = strtok(NULL,","); }
C++ 逗号分割符
vector<string> split(string str, string pattern){
string::size_type pos;
vector<string> result;
str+=pattern;
int size = str.size();
for(int i=0; i<size; i++){
pos = str.find(pattern,i);
if(pos<size){
string s = str.substr(i,pos-i);
result.push_back(s);
i=pos+pattern.size()-1;
}
}
return result;
}
std::string pattern=",";
std::string str="/dev/ttyS0,115200,8,1,n";
std::vector<std::string>result = split(str,pattern);
for(int i=0;i<result.size();i++){
cout<<"aaa:"<<result[i]<<endl;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?