龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C++字符串分割函数具体使用方法总结

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
C++ 编程语言是一个功能强大,应用方式灵活的编程语言。我们今天会在这篇文章中为大家详细讲解一下有关C++字符串分割函数的应用方式,以方便大家将来在实际中的应用,提高自己的

C++编程语言是一个功能强大,应用方式灵活的编程语言。我们今天会在这篇文章中为大家详细讲解一下有关C++字符串分割函数的应用方式,以方便大家将来在实际中的应用,提高自己的编程效率。

鉴于在C++中没有可以用一个字符串来分割字符串的函数,所以特意写了一个C++字符串分割函数方便大家:

其中str1是要分割的字符串,str2是用来分割的字符串。

  1. CString* GetStr(CString str1, CString str2, int &num)   
  2. {  
  3. int long1=str1.GetLength();  
  4. int long2=str2.GetLength();  
  5. int sign=0;  
  6. char*ch1=new char[long1];  
  7. char*ch2=new char[long2];  
  8. strcpy(ch1,str1);  
  9. strcpy(ch2,str2);   
  10. int i=0,j=0;  
  11. while(1)  
  12. {  
  13. if(j==long1)break;  
  14. if(ch1[j]==ch2[i])  
  15. {  
  16. ++j;  
  17. ++i;  
  18. ++sign;  
  19. if(sign==long2)  
  20. {  
  21. i=0;  
  22. sign=0;  
  23. ++num;  
  24. }  
  25. }  
  26. else  
  27. {  
  28. j++;  
  29. sign=0;  
  30. }  
  31. }  
  32. num++;  
  33. //num++;  
  34. i=0;  
  35. j=0;  
  36. sign=0;  
  37. CString*str=new CString[num];  
  38. int begin=0,end=0;  
  39. int n=0;  
  40. while(1)  
  41. {  
  42. if(j==long1)  
  43. {  
  44. //n++;  
  45. for(int k=begin;k<long1;k++)  
  46. {  
  47. str[n]+=ch1[k];  
  48. }  
  49. break;  
  50. }  
  51. if(ch1[j]==ch2[i])  
  52. {  
  53. ++j;  
  54. ++i;  
  55. ++sign;  
  56. if(sign==long2)  
  57. {  
  58. i=0;  
  59. sign=0;  
  60. end=j-long2;  
  61. for(int k=begin;k<end;k++)  
  62. {  
  63. str[n]+=ch1[k];  
  64. }  
  65. begin=j;  
  66. n++;  
  67. }  
  68. }  
  69. else  
  70. {  
  71. j++;  
  72. sign=0;  
  73. }  
  74. }  
  75. return str;  

以上就是对C++字符串分割函数的相关操作的介绍。

精彩图集

赞助商链接