博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++解析一段以;分隔的字符串
阅读量:1982 次
发布时间:2019-04-27

本文共 659 字,大约阅读时间需要 2 分钟。

string strContent ="101;231;54;3;";string strTmp;std:vector
itemVec;char szContentItem[128];string::szie_type nIndex;while((nIndex = strContent.find(";")) != string::npos){ int num; strTmp = strContent.substr(0,nIndex); strncpy(szContentItem,strTmp.c_str(),strTmp.length()+1); sscanf(szContentItem,"%d",&num); itemVec.push_back(num); strContent=strContent.substr(nIndex+1);}

这里有几个知识点

string:size_type在不同的机器上长度是可以不同的

我们在使用string::find函数的时候,它返回的是找到的第一个匹配的下标,从0开始,比如24;;785;;2

找;; 则返回的值为2

当find找不到所需要的字符时,返回npos

string是以\0结尾的,如果string s = "hello \0 world";

cout<<s<<endl;

则只会输出hello

如果要把整个string的内容复制,长度必须是length()+1,得把\0复制进来

sscanf是从一个字符串读进与指定格式相符的数据

转载地址:http://igzvf.baihongyu.com/

你可能感兴趣的文章
AMM做市无常损失对冲分析系列(一)—— 损益及期权对冲模型构建
查看>>
JS中document对象和window对象有什么区别
查看>>
【python练习题】遍历1
查看>>
【matlab】显示图片且下方显示文字
查看>>
关于greater<int>以及类模板的一些理解
查看>>
对于时间复杂度的通俗理解
查看>>
如何输入多组数据并输出每组数据的和?
查看>>
基于CentOS 7的Linux常用命令行命令
查看>>
行阶梯型矩阵
查看>>
临界资源与临界区
查看>>
matlab中uint8,double,im2double和im2uint8的区别
查看>>
数字图像处理总复习
查看>>
图像去噪(包含修正的阿尔法均值滤波及通用滤波方法代码)
查看>>
SVM进行人脸检测
查看>>
C++学习笔记
查看>>
图像处理学习笔记
查看>>
Machine Learning Onramp on MATLAB 学习笔记
查看>>
Machine Learning with MATLAB 1.1 to 2.2
查看>>
Learning DSP with MATLAB
查看>>
用MATLAB实现m序列的生成(MATLAB 2021a适用)
查看>>