您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C函數如何仿寫JAVA::String操作,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
模擬JAVA String 函數處理
HLUtil.h
/** * Ext-C Java::String. * replaceFirst Str1 string will replace the first occurrence of the string str2 into str3. */ static void replaceFirst(char *str1,char *str2,char *str3); /** * Ext-C Java::String. * Will appear in all str2 str1 are replaced str3. */ static void replace(char *str1,char *str2,char *str3); /** * Ext-C Java::String. * Src string interception, labeled start from the beginning to the end-1 (end front) of the string stored in dest (index starts at 0). */ static void substring(char *dest,char *src,int start,int end); /** * Ext-C Java::String. * Return the src subscript index character. */ static char charAt(char *src,int index); /** * Ext-C Java::String. * Return the position of the first occurrence of str2 (The following table index) in str1, there is no return -1. */ static int indexOf(char *str1,char *str2); /** * Ext-C Java::String. * Location (subscript) returns the last occurrence of str1 str2, there is no return -1. */ static int lastIndexOf(char *str1,char *str2); /** * Ext-C Java::String. * Remove the first non-blank character in front of the left str whitespace characters (spaces and horizontal tabs). */ static void ltrim(char *str); /** * Ext-C Java::String. * Delete str last non-blank character behind all whitespace characters (spaces and horizontal tabs). */ static void rtrim(char *str); /** * Ext-C Java::String. * Whitespace characters to delete str ends. */ static void trim(char *str); HLUtil.cpp: void HLUtil:: replaceFirst(char *str1,char *str2,char *str3) { int length = strlen(str1)+1; if(length>1) { char *str4 =newchar[length]; char *p; strcpy(str4,str1); if((p=strstr(str1,str2))!=NULL) { while(str1!=p&&str1!=NULL) { str1++; } str1[0]='\0'; strcat(str1,str3); strcat(str1,strstr(str4,str2)+strlen(str2)); } delete str4; str4 = NULL; } } void HLUtil:: replace(char *str1,char *str2,char *str3) { while(strstr(str1,str2)!=NULL) { replaceFirst(str1,str2,str3); } } void HLUtil:: substring(char *dest,char *src,int start,int end) { int i=start; if(start>strlen(src))return; if(end>strlen(src)) end=strlen(src); while(i<end) { dest[i-start]=src[i]; i++; } dest[i-start]='\0'; return; } char HLUtil:: charAt(char *src,int index) { char *p=src; int i=0; if(index<0||index>strlen(src)) return 0; while(i<index)i++; return p[i]; } int HLUtil:: indexOf(char *str1,char *str2) { char *p=str1; int i=0; p=strstr(str1,str2); if(p==NULL) return -1; else{ while(str1!=p) { str1++; i++; } } return i; } int HLUtil:: lastIndexOf(char *str1,char *str2) { char *p=str1; int i=0,len=strlen(str2); p=strstr(str1,str2); if(p==NULL)return -1; while(p!=NULL) { for(;str1!=p;str1++)i++; p=p+len; p=strstr(p,str2); } return i; } void HLUtil:: ltrim(char *str) { int i=0,j,len=strlen(str); while(str[i]!='\0') { if(str[i]!=32&&str[i]!=9)break; i++; } if(i!=0) for(j=0;j<=len-i;j++) { str[j]=str[j+i]; } } void HLUtil:: rtrim(char *str) { char *p=str; int i=strlen(str)-1; while(i>=0) { if(p[i]!=32&&p[i]!=9)break; i--; } str[++i]='\0'; } void HLUtil:: trim(char *str) { ltrim(str); rtrim(str); }
關于“C函數如何仿寫JAVA::String操作”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。