C++字符串操作集合
#include <iostream> using namespace std; //實現一個函數求字符串的長度。 int my_length(const char s) { if (s == '\0')return 0; else return 1+my_length(s + 1); } int main() { char *s = "123456"; cout << my_length(s) << endl; return 0; }include <iostream>
include <assert.h>
using namespace std; //實現一個求字符串的長度。 int my_length(const char s) { if (s == NULL)return 0; int count = 0; while (s[++count] != '\0'); return count; } int main() { char s = ""; cout << my_length(s) << endl; return 0; }
include <iostream>
include <string.h>
include <assert.h>
using namespace std;
char my_strcpy(char dist,const char scour) { assert(scour!=NULL); char p = dist; while (dist++ = scour++); return p; } int main() { char s1 = "123"; char s2 = new char[strlen(s1)]; cout << my_strcpy(s2, s1) << endl; return 0; }
include <iostream>
include <assert.h>
using namespace std; //實現庫函數strcat。 char my_strcat(char dist,char const scour) { assert(dist!=NULL || scour!=NULL); if (scour == '\0')return dist; char p = dist; while (dist != '\0')dist++; while (dist++ = scour++); return p; } int main() { char *s1 = new char[10]; strcpy(s1,"123"); cout << my_strcat(s1,"456")<<endl; return 0; }
include <iostream>
include <assert.h>
include <string.h>
using namespace std; //編寫程序使字符串逆序。 char my_invert(char s) { assert(s != NULL); char head = s; char last = s+strlen(s)-1; char temp; while (head < last) { temp = head; head = last; last = temp; head++; last--; } return s; } int main() { char *s = new char[10]; strcpy(s,"12345"); cout << my_invert(s) << endl; return 0; }
include <iostream>
include <assert.h>
using namespace std; //模擬實現strchr函數,功能:在一個字符串中查找一個字符第一次出現的位置,如果沒有出現返回NULL。 int my_strchar(const char dist, char ch) { assert(dist!=NULL); int count = 0; while (dist != '\0' && dist!=ch) { count++; dist++; } if (dist == '\0')return 0; return count+1; } int main() { cout << my_strchar("1234", '1') << endl; return 0; }</pre>