模拟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 =new char[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);
}
相关推荐
本程序提供了std::string 类型的Format格式化函数,以及两种格式化string字符串的方法,主方法在str.hpp文件中,测试文件在string_format.cpp中,已测试可用
单片机C语言实例38:字符串函数string.h应用举例.txt
在学习c语言的过程中,会用到许多函数以实现特定的功能,久了这些函数的用法难免会忘记。这款C语言函数助手可以帮助你记录学过的函数,并可以把函数的功能及用法保存下来,以便忘记时查看。 C语言函数助手功能特色...
在java中调用C语言的函数,对初学者很不错的实例! 在java中调用C语言的函数,对初学者很不错的实例!
c语言函数大全包含:图形函数与屏幕函数等C语言函数的速查(附实例),方便使用C语言函数。
C语言学习路线图:(阶段三) C语言函数参考手册 带有详细标签,高清PDF
C语言38:字符串函数string.h应用举例
在JDK1.5中,String类增加了一个非常有用的静态函数format(String format, Objece... argues),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而argues则是一...
C函数库手册,按照函数功能来分类 分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch 是字母('A'-'Z','a'-'z')返回非0 值,否则返回0 ...操作函数,所在函数库为string.h、mem.h mem…操作存贮数组 ...... ......
掌握基本文件操作函数; 学会使用常用的文件函数; 掌握如何上传文件; PHP操纵文件一般分为五步进行 1、打开一个文件以供读写 2、从文件中读取数据 3、关闭这个文件 4、执行操作 5、将写入结果输出 一、打开文件...
里面有全部string的函数说明,char函数说明等,对新手来说是一个很好的东西哦
inline-java: 实现从Haskell调用任何JVM函数
3. C语言函数 4. C语言数组 两个小项目: 5. C语言实现三子棋 6. C语言实现扫雷 了解C语言更多细节: 7. C语言操作符 学习指针: 8. C语言指针初阶 学习结构体: 9. C语言结构体 C语言进阶: 数据的存储方式: 10. ...
速查java函数 常用函数都有 很方便 对java初学者很有帮助
函数描述:print(string arg,string[arg],…); 说明:函数print输入所有的参数。 返回值:若输出成功,返回true(1);否则返回false(0)。 Printf 函数描述:printf(string format,mixed[string]); 说明:函数printf...
字符转的各种转换函数库,用这个库,字符串的各种转换再也不头疼 //-------------字符串转数字-------------- int CString_numberStr_2_int(CString str); int stdString_2_int(std::string str);//std string ...
C语言实现String字符串及其函数,仅供参考~ C语言实现String字符串及其函数,仅供参考~ C语言实现String字符串及其函数,仅供参考~
C语言字符串函数大全C/C++基础 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) ...
Java堆:局部变量表:操作数栈:帧数据区:栈上分配。
主要介绍了C++实现string存取二进制数据的方法,针对STL中string的用法进行了较为详细的分析,需要的朋友可以参考下