详解c++的字符串类的字符串分割实现

  

<强>详解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++的字符串类的字符串分割实现