程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++字符串分割函數具體使用方法總結

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++字符串分割函數的相關操作的介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved