中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C函數如何仿寫JAVA::String操作

發布時間:2021-09-28 14:17:16 來源:億速云 閱讀:117 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關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操作”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐池县| 桑植县| 乃东县| 四子王旗| 旺苍县| 永吉县| 磴口县| 湘西| 东安县| 石家庄市| 伊金霍洛旗| 广元市| 乌兰察布市| 潞西市| 孟村| 永丰县| 丘北县| 宜兰市| 衡阳市| 三台县| 屯留县| 涞水县| 景宁| 康平县| 苏尼特右旗| 依兰县| 远安县| 江安县| 东安县| 荣成市| 吴江市| 盖州市| 沙湾县| 武鸣县| 浮梁县| 山阳县| 南通市| 河源市| 龙胜| 金湖县| 宁南县|