C/C++ std::string

这篇博客详细介绍了C++中字符串的替换、查找、sscanf函数的使用方法。通过实例展示了如何用replace函数替换字符串中的特定字符,find函数查找子串位置,以及sscanf函数进行复杂字符串解析,包括提取逗号和冒号分隔的信息。
摘要由CSDN通过智能技术生成

参考https://blog.csdn.net/cai_niaocainiao/article/details/81260902

替换

replace(str.begin(),str.end(),'/',' ');

查找

std::string a = "1234456";
std::cout<<a.find("12345")<<std::endl;
std::cout<<a.find("4")<<std::endl;
if(s.find(".jpg") == string::npos){
...
}

sscanf

std::string i = "video,1,00:00:10,00:00:50";
char n[20], idx[20], st[20], et[20];
sscanf(i.c_str(),"%[^,],%[^,],%[^,],%s",n,idx,st,et);
std::cout<<n<<" "<<idx<<" "<<st<<" "<<et<<std::endl;

查找, 并找出第一个逗号和第二个逗号之前的数

std::string a = "a,1,3,100";
std::cout<<a.find(",")<<std::endl;
std::string b = a.substr(a.find(",")+1);
std::string c = b.substr(0,b.find(","));
b 1,3,100
c 1

sscanf 逗号和冒号

std::string j = "2,0,360,640,360,1,00:00:10";
// std::string b = j.substr(j.find(",")+1);
char PIP_chn[20], x1[20], y1[20], x2[20], y2[20], file_id[20];
char start_time[20] = "asdsadsa";
sscanf(j.c_str(),"%[^,],%[^,],%[^,],%[^,],%[^,],%[^,],%s",PIP_chn,x1,y1,x2,y2,file_id,start_time);
char hour[10],min[10],sec[10];
sscanf(start_time,"%[^:]:%[^:]:%[^:]",hour,min,sec);
cout<<start_time<<endl;	
cout<<hour<<endl;	
cout<<min<<endl;	
cout<<sec<<endl;	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值