<强>详解c++的字符串类的字符串分割实现强>
功能需求,输入一个字符串“1-2-3”切割出“1”、“2”、“3”,在Java下直接用字符串的拆分函数就可以了c + +下字符串没有直接提供这个函数,需要自己写。
网上给出的解决方案是这里的三种方法。但我是通过JNI访问的,在里面用这些向量可能不中,自己封装了个,仅供参考:
字符串recogScop=?1-02-03”; cout<& lt; recogScop<& lt; endl; int大?recogScop.size (); int pos=0; [20]字符串结果; for (int i=0, j=0;i<规模;我+ + + +) { pos=recogScop。找到(“-”,我); 如果(pos==1) { 字符串subEnd=recogScop。substr(我,大小——我);//最后一个字符串 结果[j]=subEnd; 打破; } 如果(pos祝辞0) { 子=recogScop字符串。substr(我,pos-i); 结果[j]=子; 我=pos; } } for (int i=0;结果[我]!=" ";我+ +) [我]& lt cout<& lt;结果;& lt; endl; >之前上面发现的结果pos大于0,表示能够找到”——“分隔符,如果失败,也就是最后一个分隔符,pos会等于1 .
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持。
详解c++的字符串类的字符串分割实现