当前位置:文档之家› 字符串函数解析

字符串函数解析

字符串函数解析
字符串函数解析

函数名: strcpy(字符串复制函数)

功能:将一个字符串复制到另一个字符串中

表头文件#include

定义函数char *strcpy(char *dest,const char *src);

函数说明strcpy()会将参数src字符串拷贝至参数dest所指的地址。

返回值返回参数dest的字符串起始地址。

附加说明如果参数dest所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程序时

请特别留意,或者用strncpy()来取代。

范例#include

main()

{

char a[30]="string(1)";

char b[]="string(2)";

printf("before strcpy() :%s\n",a);

printf("after strcpy() :%s\n",strcpy(a,b));

}

执行before strcpy() :string(1)

after strcpy() :string(2)

函数名:strncpy(字符串复制函数)

表头文件#include

定义函数char * strncpy(char *dest,const char *src,size_t n);

函数说明strncpy()会将参数src字符串拷贝前n个字符至参数dest所指的地址。

返回值返回参数dest的字符串起始地址。

范例#inclue

main()

{

char a[30]="string(1)";

char b[]="STRING(2)";

printf("before strncpy() : %s\n",a);

printf("after strncpy() : %s\n",strncpy(a,b,6));

}

执行before strncpy() : string(1)

after strncpy() : STRING(1)

函数名: strcat(字符串连接函数)

功能:将一个字符串连接到另一个字符串后面,面前的字

符串必须足够大。

表头文件#include

定义函数char *strcat (char *dest,const char *src);

函数说明strcat()会将参数src字符串拷贝到参数dest所指的字符串尾。第一个参数dest要有足够的空间来容纳要拷贝的字

符串。

返回值返回参数dest的字符串起始地址

范例#include

main()

{

char a[30]="string(1)";

char b[]="string(2)";

printf("before strcat() : %s\n",a);

printf("after strcat() : %s\n",strcat(a,b));

}

执行before strcat () : string(1)

after strcat () : string(1)string(2)

函数名:strchr (字符串连接函数)

功能:将一个字符串前N个字符连接到另一个字符串后面,面前的字符串必须足够大。

表头文件#inclue

定义函数char * strncat(char *dest,const char *src,size_t n);

函数说明strncat()会将参数src字符串拷贝n个字符到参数dest所指的字符串尾。第一个参数dest要有足够的空

间来容纳要拷贝的字符串。

返回值返回参数dest的字符串起始地址。

范例#include

main()

{

char a[30]="string(1)";

char b[]="string(2)";

printf("before strnact() :%s\n", a);

printf("after strncat() :%s\n", strncat(a,b,6));

}

执行before strnact() : string(1)

after strncat() : string(1) string

函数名: strchr(查找字符串中第一个出现的指定字符)

功能: 在一个串中查找给定字符的第一个匹配之处\

表头文件#include

定义函数char * strchr (const char *s,int c);

函数说明strchr()用来找出参数s字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回。

返回值如果找到指定的字符则返回该字符所在地址,否则返回0。

范例#include

main()

{

char *s=”0123456789012345678901234567890”;

char *p;

p=strchr(s,'5');

printf("%s\n",p);

}

函数名:strrchr()

功能:查找字符串中最后出现的指定字符

表头文件#include

定义函数char * strrchr(const char *s, int c);

函数说明strrchr()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回。

返回值如果找到指定的字符则返回该字符所在地址,否则返回0。

范例#include

main()

{

char *s="0123456789012345678901234567890";

char *p;

p=strrchr(s,'5');

printf("%s\n",p);

}

执行567890

函数名:strstr

功能:在一字符串中查找指定的字符串

表头文件#include

定义函数char *strstr(const char *haystack,const char *needle);

函数说明strstr()会从字符串haystack 中搜寻字符串needle,并将第一次出现的地址返回。

返回值返回指定字符串第一次出现的地址,否则返回0。

范例#include

main()

{

char * s="012345678901234567890123456789";

char *p;

p= strstr(s,"901");

printf("%s\n",p);

}

执行901234567890123456789

函数名:strpbrk

功能:查找字符串中第一个出现的指定字符

表头文件#include

定义函数char *strpbrk(const char *s,const char *accept); 函数说明strpbrk()用来找出参数s 字符串中最先出现存在参数

accept 字符串中的任意字符。

返回值如果找到指定的字符则返回该字符所在地址,否则返回0。

范例#include main()

{

char *s="0123456789012345678901234567890";

char *p;

p=strpbrk(s,"a1 839"); /*1会最先在s字符串中找到*/

printf("%s\n",p);

p=strprk(s,"4398");/*3 会最先在s 字符串中找到*/ printf("%s\n",p);

执行123456789012345678901234567890

函数名: strspn

功能: 返回字符串中连续不含指定字符串内容的字符数

表头文件#include

定义函数size_t strspn (const char *s,const char * accept);

函数说明strspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代

表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。

返回值返回字符串s开头连续包含字符串accept内的字符数目。

范例#include

main()

{

char *str="Linux was first developed for 386/486-based PCs.";

char

*t1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

printf("%d\n",strspn(str,t1));

}

执行 5 /*计算大小写字母。不包含“ ”,所以返回Linux的长度。*/

函数名:strcspn

功能:返回字符串中连续不含指定字符串内容的字符数

表头文件#inclued

定义函数size_t strcspn ( const char *s,const char * reject); 函数说明strcspn()从参数s字符串的开头计算连续的字符,而这些字符都完全不在参数reject 所指的字符串中。简单地

说,若strcspn()返回的数值为n,则代表字符串s开头连续有n个字符都不含字符串reject内的字符。

返回值返回字符串s开头连续不含字符串reject内的字符数目。

范例#include main()

{

char *str="Linux was first developed for 386/486-based pcs.";

printf("%d\n",strcspn(str," "));

printf("%d\n",strcspn(str,"/-"));

printf("%d\n",strcspn(str,"1234567890"));

}

执行5 /*只计算到“ ”的出现,所以返回“Linux”的长度*/

33 /*计算到出现“/”或“-”,所以返回到“6”的长

度*/

30 /* 计算到出现数字字符为止,所以返回“3”出现前

的长度*/

函数名: strcmp(字符串比较函数)功能: 串比较

表头文件#include

定义函数int strcmp(const char *s1,const char *s2); 函数说明strcmp()用来比较参数s1和s2字符串。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1第一个字符值减去s2第一个字符值,若差值为0则再继续比较下个字符,若差值不为0则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。

返回值若参数s1和s2字符串相同则返回0。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0 的值。

程序例:

#include

#include

int main(void)

{

char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr;

ptr = strcmp(buf2, buf1);

if (ptr > 0)

printf("buffer 2 is greater than buffer 1\n");

else

printf("buffer 2 is less than buffer 1\n");

ptr = strcmp(buf2, buf3);

if (ptr > 0)

printf("buffer 2 is greater than buffer 3\n");

else

printf("buffer 2 is less than buffer 3\n");

return 0;

}

函数名: strncmp

功能: 串比较

表头文件#include

定义函数int strcmp(const char *s1,const char *s2,size_t n); 函数说明strncmp()用来比较参数s1和s2字符串,最多比较n个字符。字符串大小的比较是以ASCII 码表上的顺序来决定,

此顺序亦为字符的值。strncmp()首先将s1第一个字符值

减去s2第一个字符值,若差值为0则再继续比较下个字符,

若差值不为0则将差值返回。例如字符串"Ac"和"ba"比较

则会返回字符"A"(65)和'b'(98)的差值(-33)。

返回值若参数s1和s2字符串相同则返回0。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0 的值。

程序例:

#include

#include

int main(void)

{

char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc"; int ptr;

ptr = strncmp(buf2,buf1,3);

if (ptr > 0)

printf("buffer 2 is greater than buffer 1\n");

else

printf("buffer 2 is less than buffer 1\n");

ptr = strncmp(buf2,buf3,3);

if (ptr > 0)

printf("buffer 2 is greater than buffer 3\n");

else

printf("buffer 2 is less than buffer 3\n");

return(0);

}

函数名: strncasecmp(忽略大小写比较字符串)

功能: 将一个串中的一部分与另一个串比较, 不管大小

表头文件#include

定义函数int strncasecmp(const char *s1,const char

*s2,size_t n);

函数说明strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。

返回值若参数s1和s2 字符串相同则返回0。s1 若大于s2则返回大于0的值,s1若小于s2则返回小于0 的值。

范例#include

main()

{

char *a="aBcDeF";

char *b="AbCdEf";

if(!strncasecmp(a,b))

printf("%s =%s\n",a,b);

}

执行aBcDef=AbCdEf

函数名: strtok

功能: 查找由在第二个串中指定的分界符分隔开的单词

表头文件#include

定义函数char * strtok(char *s,const char *delim);

函数说明strtok()用来将字符串分割成一个个片段。参数s 指向欲分割的字符串,参数delim则为分割字符串,

当strtok()在参数s的字符串中发现到参数delim

的分割字符时则会将该字符改为\0 字符。在第一次

调用时,strtok()必需给予参数s字符串,往后的

调用则将参数s设置成NULL。每次调用成功则返回

下一个分割后的字符串指针。

返回值返回下一个分割后的字符串指针,如果已无法分割

则返回NULL。

范例#include

main()

{

char s[]="ab-cd : ef;gh :i-jkl;mnop;qrs-tu:

vwx-y;z";

char *delim="-: ";

char *p;

printf("%s ",strtok(s,delim));

while((p=strtok(NULL,delim)))printf("%s

",p);

printf("\n");

}

执行ab cd ef;gh i jkl;mnop;qrs tu vwx y;z /*-与:字符已经被\0 字符取代*/

说明:首次调用时,s必须指向要分解的字符串,

随后调用要把s设成NULL。

strtok在s中查找包含在delim中的字

符并用NULL('\0')来替换,直到找遍整个字符

串。

返回指向下一个标记串。当没有标记串时则返回空字符NULL。

但是如果是下面的用法,则是错误的:

char *s="zgbfg|zlkjksajflasf";

char * p1=strtok(s,"|");

理由是,s字符串指针指向的是一个常数字符串。

而strtok是需要分割字符,并相应的把传入的s 进行裁剪,但是由于s指向的是个常数字符串,所以会导致出错。

如果是下面的用法则不会出错。

char s[256]="zgbfg|zlkjksajflasf";

char * p1=strtok(s,"|");

这是s是个字符串数组,第一句话会将字符串赋值给s。而s这个时候是个局部的字符串变量,可以被strtok修改。

acm常用字符串处理函数

sstrstr与strchar用法 原型:extern char *strstr(char *haystack, char *needle); 用法:#include 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 举例: #include #include main() { char *s="Golden Global View"; char *l="lob"; char *p; clrscr(); p=strstr(s,l); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; } 语法:int strstr(str1,str2) str1: 被查找目标string expression to search. str2:要查找对象The string expression to find. 该函数返回str2第一次在str1中的位置,如果没有找到,返回NULL The strstr() function returns the ordinal position within str1 of the first occurrence of str2. If str2 is not found in str1, strstr() returns 0. 例子: 功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy” (假设xxx和yyy都是一个未知的字串) char *s=” string1 onexxx string2 oneyyy”; char *p; p=strstr(s,”string2”); if(!p) printf(“Not Found!”); p=strstr(p,”one”); if(!p) printf(“Not Found!”); p+=strlen(“one”) printf(“%s”,p); 说明:如果直接写语句p=strstr(p,”one”),则找到的是xxx,不符合要求 所以需采用二次查找法找到目标

VB常用字符串操作函数解读

VB常用字符串操作函数2009/11/25 18:321. ASC(X,Chr(X:转换字符字符码[格式]: P=Asc(X 返回字符串X的第一个字符的字符码 P=Chr(X 返回字符码等于X的字符 [范例]:(1P=Chr(65 ‘ 输出字符A,因为A的ASCII码等于65 (2P=Asc(“A” ‘ 输出65 2. Len(X:计算字符串X的长度 [格式]: P=Len(X [说明]:空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算 一个字符。 [范例]: (1 令X=”” (空字符串 Len(X 输出结果为0 (2 令X=”abcd” Len(X 输出结果为4 (3 令X=”VB教程” Len(X 输出结果为4 3. Mid(X函数:读取字符串X中间的字符 [格式]: P=Mid(X,n 由X的第n个字符读起,读取后面的所有字符。 P=Mid(X,n,m 由X的第n个字符读起,读取后面的m个字符。 [范例]: (1 X=”abcdefg” P=Mid(X,5 结果为:P=”efg” (2 X=”abcdefg” P=Mid(X,2,4 结果为 P=”bcde” 4. R eplace: 将字符串中的某些特定字符串替换为其他字符串 [格式]: P=Replace(X,S,R [说明]:将字符串X中的字符串S替换为字符串R,然后返回。[范例]:X=”VB is very good” P=Replace(X,good,nice 输出结果为:P=”VB is very nice” 5. StrReverse:反转字符串 [格式]: P=StrReverse(X [说明]:返回X参数反转后的字符串 [范例]:(1)X=”abc” P=StrReverse(X 输出结果:P=”cba” 6. Ucase(X,Lcase(X:转换英文字母的大小写 [格式]:P=Lcase(X ‘ 将X字符串中的大写字母转换成小写P=Ucase(X ‘ 将X字符串中的小写字母转换成大写 [说明]:除了英文字母外,其他字符或中文字都不会受到影响。 [范例]:(1)令X=”VB and VC” 则Lcase(X的结果为”vb and vc”,Ucase(X的结果为”VB AND VC” 7. InStr函数:寻找字符串 [格式]: P=InStr(X,Y 从X第一个字符起找出Y出现的位置 P=InStr(n,X,Y 从X第n个字符起找出Y出现的位置 [说明]:(1)若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。(2) InStr(X,Y相当于 InStr(1,X,Y。(3)若字符串长度,或X为空字符串,或在X中找不到Y,则都 返回0。(4)若Y为空字符串,则返回0。 ---------------------------------------------------------------------------------------------- mid(字符串,从第几个开始,长度 ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如 mid("小欣无敌",1,3 则返回 "小欣无" instr(从第几个开始,字符串1,字符串2 ByVal 从规定的位置开始查找,返回字符

各种字符串处理函数示例(基本)

示例 1.字符串输出示例。 程序: #include void main(void) { char str[25]={"Welcome to our city!"}; puts(str); puts("Thank you!"); } 结果: 2.字符串输入实例。(注意比较gets与scanf和puts与printf的区别)程序: #include void main(main) { char str[20]; gets(str); puts(str); printf("*********\n"); scanf("%s",str); puts(str); } 结果: 3.测字符串长度函数strlen()的使用。 程序: #include #include void main(main) { char a[10]="program";

int x,y; x=strlen(a); y=strlen("abc13"); printf("%d\n%d\n\n",x,y); } 结果: 4.字符串连接函数的使用。 程序: #include #include void main(main) { char s1[20]="Hello",s2[6]="Word"; puts(s1); puts(s2); strcat(s1,s2); printf("%s\n",s1); } 结果: 修改后 程序: #include #include void main(main) { char s1[5]="Hello",s2[6]="Word"; puts(s1); puts(s2); strcat(s1,s2); printf("%s\n",s1); } 结果:

java 字符串常用函数及其用法

java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。 String相关函数 1)substring() 它有两种形式,第一种是:String substring(int startIndex) 第二种是:String substring(int startIndex,int endIndex) 2)concat() 连接两个字符串 例:String s="Welcome to "; String t=s.concat("AnHui"); 3)replace() 替换 它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下: String replace(char original,char replacement) 例如:String s=”Hello”.replace(’l',’w'); 第二种形式是用一个字符序列替换另一个字符序列,形式如下: String replace(CharSequence original,CharSequence replacement) 4)trim() 去掉起始和结尾的空格 5)valueOf() 转换为字符串 6)toLowerCase() 转换为小写 7)toUpperCase() 转换为大写 8)length() 取得字符串的长度 例:char chars[]={’a',’b’.’c'}; String s=new String(chars); int len=s.length(); 9)charAt() 截取一个字符 例:char ch; ch=”abc”.charAt(1); 返回值为’b’ 10)getChars() 截取多个字符 void getChars(int sourceStart,int sourceEnd,char target[],int targetStart) sourceStart 指定了子串开始字符的下标 sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。

Pascal常用字符串函数

一、数学函数: Inc(i) 使I:=I+1; Inc(I,b) 使I:=I+b; Abs(x) 求x的绝对值例:abs(-3)=3 Chr(x) 求编号x对应的字符。例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’ Ord(x) 求字符x对应的编号。例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 o rd(true)=1 Sqr(x) 求x的平方。例:sqr(4)=16 Sqrt(x)求x的开方. 例:sqrt(16)=4 round(x) 求x的四舍五入例:round(4.5)=5 trunc(x) 求x的整数部分例:trunc(5.6)=5 结果是integer型 int(x) 求x的整数部分例int(5.6)=5.0 结果是real型 frac (x)求x的小数部分例frac(5.6)=0.6 pred(x) 求x的前导pred(‘b’)=’a’ pred(5)=4 pred(true)=false succ(x) 求x的后继succ(‘b’)=’c’ succ(5)=6 succ(false)=true odd(x) 判断x是否为奇数。如果是值为true,反之值为false. Odd(2)=false od d(5)=true power(a,n) 求a的n次方power(2,3)=8 exp(b*ln(a)) a的b次方 random 取0~1之间的随机数(不能取到1) randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面. Fillchar(a,size(a),0) 数组初始化,即把数组a的值全部置为0 SHR: x SHR n 把x换成二进制后向右移n位,相当于把x 除以2n a shr n 等价于a div (2^n) SHL: x SHL n把x换成二进制后向左移n位,相当于把x 乘以2n 二、字符串函数 1. 连接运算concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn. 例:concat(‘11’,’aa’)=’11aa’; 2. 求子串。Copy(s,i,L) 从字符串s中截取第i个字符开始后的长度为L的子串。 例:copy(‘abdag’,2,3)=’bda’ 3. 删除子串。过程Delete(s,i,L) 从字符串s中删除第i个字符开始后的长度为L的子串。

SQL无序字符比较函数

go --创建函数(第一版) create function get_orderstr(@str varchar(8000)) returns varchar(8000) as begin set @str=rtrim(@str) declare @tb table(s varchar(1),a int) while len(@str)>0 begin insert into @tb select left(@str,1),ascii(left(@str,1)) set @str=right(@str,len(@str)-1) end declare @sql varchar(8000) select @sql=isnull(@sql+'','')+s from @tb order by a return isnull(@sql,'') end --测试示例 if(dbo.get_orderstr('abc')=dbo.get_orderstr('acb')) print'相同' else print'不同' --运行结果 /* 相同 */ --第二版 /* * 功能:不按先后顺序比较字符串序列是否相同 * * 适用:SQL Server 2000 / SQL Server 2005 * * 返回:相同不相同 * * 作者:Flystone * * 描述:学习Limpire(昨夜小楼)的方法后做一个动态SQL的* */ go --创建存储过程(这个不是函数) CREATE proc sp_CompareString @Str1 varchar(100), @Str2 varchar(100), @Split varchar(10),

C++字符串函数详解

C++字符串函数详解 //将dest前面count个字符置为字符c. //返回dest的值. void *memset(void *dest, int c, size_t count); //从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理. //返回dest的值. void *memmove(void *dest, const void *src, size_t count); //从src复制count字节的字符到dest. 与memmove功能一样, 只是不能处理src和dest出//现重叠. //返回dest的值. void *memcpy(void *dest, const void *src, size_t count); //在buf前面count字节中查找首次出现字符c的位置. 找到了字符c或者已经搜寻了count //个字节, 查找即停止. //操作成功则返回buf中首次出现c的位置指针, 否则返回NULL. void *memchr(const void *buf, int c, size_t count); //从src复制0个或多个字节的字符到dest. 当字符c被复制或者count个字符被复制时, 复//制停止. //如果字符c被复制, 函数返回这个字符后面紧挨一个字符位置的指针. 否则返回NULL. void *_memccpy(void *dest, const void *src, int c, size_t count); //比较buf1和buf2前面count个字节大小. //返回值< 0, 表示buf1小于buf2; //返回值为0, 表示buf1等于buf2; //返回值> 0, 表示buf1大于buf2. int memcmp(const void *buf1, const void *buf2, size_t count); //比较buf1和buf2前面count个字节. 与memcmp不同的是, 它不区分大小写. //返回值同上. int memicmp(const void *buf1, const void *buf2, size_t count); //获取字符串长度, 字符串结束符NULL不计算在内. //没有返回值指示操作错误. size_t strlen(const char *string); //将字符串string中的字符顺序颠倒过来. NULL结束符位置不变. //返回调整后的字符串的指针. char *strrev(char *string);

字符串处理函数大全

字符串处理函数大全 bcmp(比较内存内容)相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件;include 定义函数;int bcmp ( const void *s1,const void * s2,int n); 函数说明;bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。返回值;若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。 附加说明;建议使用memcmp()取代。 范例:参考memcmp()。 //================================================================ bcopy(拷贝内存内容)相关函数 memccpy,memcpy,memmove,strcpy,ctrncpy 表头文件;#include 定义函数;void bcopy ( const void *src,void *dest ,int n); 函数说明;bcopy()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址,不过参数src与dest在传给函数时是相反的位置。 返回值 ;附加说明建议使用memcpy()取代 范例 #include main() { char dest[30]=”string(a)”; char src[30]=”string\0string”; int i; bcopy(src,dest,30);/* src指针放在前*/ printf(bcopy(): “) for(i=0;i<30;i++) printf(“%c”,dest[i]); memcpy(dest src,30); /*dest指针放在钱*/ printf(…\nmemcpy() : “); for(i=0;i<30;i++) printf(“%c”,dest[i]); 执行 bcopy() : string string memcpy() :string sring //================================================================ bzero(将一段内存内容全清为零)相关函数 memset,swab 表头文件;#include 定义函数;void bzero(void *s,int n); 函数说明:bzero()会将参数s所指的内存区域前n个字节,全部设为零值。相当于调用memset((void*)s,0,size_tn); 返回值:附加说明建议使用memset取代

C语言字符串操作总结大全(超详细)

C语言字符串操作总结大全(超详细) 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 * 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend) 从字符串p 中转换double 类型数值,并将后续的字符串指针存储到ppend 指向的char* 类型存储。 strtol(p, ppend, base) 从字符串p 中转换long 类型整型数值,base 显式设置转换的整型进制,设置为0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型 atoi(p) 字符串转换到int 整型 atof(p) 字符串转换到double 符点数 atol(p) 字符串转换到long 整型 3)字符检查 isalpha() 检查是否为字母字符 isupper() 检查是否为大写字母字符 islower() 检查是否为小写字母字符 isdigit() 检查是否为数字 isxdigit() 检查是否为十六进制数字表示的有效字符 isspace() 检查是否为空格类型字符 iscntrl() 检查是否为控制字符 ispunct() 检查是否为标点符号 isalnum() 检查是否为字母和数字 isprint() 检查是否是可打印字符 isgraph() 检查是否是图形字符,等效于isalnum() | ispunct()

C 中的string常用函数用法总结.

C++中的string常用函数用法总结首先,为了在我们的程序中使用string类型,我们必须包含头文件。 如下: #include //注意这里不是string.h string.h是C字符串头文件 #include using namespace std; 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str 初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多st rlen”的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。

(完整版)vb_字符串处理函数大全

mid(字符串,从第几个开始,长度)ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如mid("坦然面对",1,3) 则返回"坦然面" instr(从第几个开始,字符串1,字符串2)ByVal 从规定的位置开始查找,返回字符串2在字符串1中的位置 例如instr(1,"坦然面对","坦") 则返回1,instr(2,"坦然面对","坦"),则返回0 。0 表示未找到 InStrRev(字符串1,字符串2,从第几个开始) ByVal 从规定的位置开始,从后住前查找,返回字符串2在字符串1中的位置,此处注意,虽是从后住前查找,但是返回的值还是从前往后算的。 例如instrRev("坦然面对","坦",2) 则返回2 ; instrRev("坦然面对","然",1) 则返回0 ,因为它从"坦然面对"的第1个字开始往前查找,所以找不到。0 表示未找到 left(字符串,长度) ByVal 从[字符串]的左边开始返回[长度]个字符 例如Left("坦然面对",3) 则返回"坦然面" right(字符串,长度) ByVal 从[字符串]的右边开始返回[长度]个字符 例如Right("坦然面对",3) 则返回"然面对" ucase(字符串) ByVal 返回[字符串]的大写形式,只对英文字符有效 例如ucase("tanRANmiAnDui") 则返回"TANRANMIANDUI" lcase(字符串) ByVal 返回[字符串]的小写形式,只对英文字符有效 例如lcase("tanRANmiAnDui") 则返回"tanranmiandui" asc(字符) Byval返回[字符]的ascii编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程 例如asc("坦") 则返回-13127; asc("坦然面对") 也返回-13127 chr(ASCii编码) Byval 返回[Ascii]编码所代表的字符,和Chr()函数是一个可逆的过程 例如chr(-13127) 则返回"坦" ;chr(asc("坦")) 则返回"坦"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本) trim(字符串) Byval 返回去掉了前、后之后的[字符串] 例如trim("坦然面对") 则返回"坦然面对" ,中间的空格不受任何影响 string(个数,字符) Byval 返回[个数]个[字符] 例如string(3,"坦") 则返回"坦坦坦" , 而string(3,"坦然面对") 也返回"坦坦坦",只有首字符才有效 space(个数) Byval 返回[个数]个空格 例如space(5) 则返回""

Linux下常用C语言字符串操作函数

Linux下常用C语言字符串操作函数 stroul, strdup snprintf() atio C中常用字符串操作函数 #include size_t strlen(const char *s) 测量字符串长度s的实际长度。 例如s[20]="abc",那么strlen(s)的结果是3,而不是20.这就是实际长度 char *strcat(const char *s1, const *s2) 将字符串s2连接到s1的尾部。从s1的\0开始。 int strcmp(const *s1,const *s2) 比较s1和s2。 s1 = s2的时候返回值=0 s1 < s2的时候返回至<0 s1 > s2的时候返回值>0 char *strchr(const char *s, char c); 返回s中首次出现C的位置的指针。如果s中不存在c则返回NULL char *strrchr(const char *s, char c );返回s中最后一次出现c的位置的指针。如果没有,则返回0 char *strstr(const char *haystack, const char *needle);返回haystack中needle字符串首次出现的位置的指针(不比较结束符NULL)。若果没找到则返回NULL 限定长度的比较,拷贝和追加函数 int strncmp(char *s1, const char *s2, size_t n);(这些都是针对字符串的前n个字符来操作的) char *strncpy(char *dest, const char *src, size_t n); char *strncat(char *dest, const char *src, size_t n); char *strdup(char *s)返回指向被复制的字符串的指针,所需空间由malloc()分配而且需要free释放空间 int atoi(const char *nptr);将字符串转换成整型数

Js字符串操作函数大全

Js字符串操作函数大全 /* ****************************************** 字符串函数扩充 ****************************************** */ /* =========================================== //去除左边的空格 =========================================== */ String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); } /* =========================================== //去除右边的空格 =========================================== */ String.prototype.Rtrim = function() { return this.replace(/(\s*$)/g, ""); } /* =========================================== //去除前后空格 =========================================== */ String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } /* ===========================================

VB常用字符串函数解读

VB 常用字符串函数 (1 作者:来源:发布时间:07-11-03 浏览:12899 次 PART 1 1. ASC (X, Chr(X:转换字符字符码 [格式 ]: P=Asc(X 返回字符串 X 的第一个字符的字符码 P=Chr(X 返回字符码等于 X 的字符 [范例 ]: (1P=Chr(65 … 输出字符 A, 因为 A 的 ASCII 码等于 65 (2P=Asc(“A” … 输出 65 2. Len (X:计算字符串 X 的长度 [格式 ]: P=Len(X [说明 ]: 空字符串长度为 0, 空格符也算一个字符, 一个中文字虽然占用 2 Bytes, 但也算一个字符。 [范例 ]:

(1 令X=”” (空字符串 Len(X 输出结果为 0 (2 令X=”abcd” Len(X 输出结果为 4 (3 令X=”VB 教程” Len(X 输出结果为 4 3. Mid (X函数:读取字符串 X 中间的字符 [格式 ]: P=Mid(X,n 由 X 的第 n 个字符读起,读取后面的所有字符。P=Mid(X,n,m 由 X 的第 n 个字符读起,读取后面的 m 个字符。[范例 ]: (1 X=”abcdefg” P=Mid(X,5 结果为:P=”efg” (2 X=”abcdefg” P=Mid(X,2,4 结果为P=”bcde”

4. Replace : 将字符串中的某些特定字符串替换为其他字符串 [格式 ]: P=Replace(X,S,R [说明 ]:将字符串 X 中的字符串 S 替换为字符串 R ,然后返回。 [范例 ]: X=”VB is very good” P=Replace(X,good,nice 输出结果为:P=”VB is very nice” 5. StrReverse :反转字符串 [格式 ]: P=StrReverse(X [说明 ]: 返回 X 参数反转后的字符串 [范例 ]: (1 X=”abc” P=StrReverse(X 输出结果:P=”cba” 6. Ucase (X, Lcase(X:转换英文字母的大小写 [格式 ]: P=Lcase(X

《字符串比较函数大全》

字符串比较函数 2009-05-02 12:06:17| 分类:技术|字号订阅 函数名: stpcpy 功能: 拷贝一个字符串到另一个 用法: char *stpcpy(char *destin, char *source); 程序例: #include #include int main(void) { char string[10]; char *str1 = "abcdefghi"; stpcpy(string, str1); printf("%s\n", string); return 0; } 函数名: strcat 功能: 字符串拼接函数

用法: char *strcat(char *destin, char *source); 程序例: #include #include int main(void) { char destination[25]; char *blank = " ", *c = "C++", *Borland = "Borland"; strcpy(destination, Borland); strcat(destination, blank); strcat(destination, c); printf("%s\n", destination); return 0; } 函数名: strchr 功能: 在一个串中查找给定字符的第一个匹配之处\ 用法: char *strchr(char *str, char c); 程序例: #include

python字符串常用函数

字符串常用函数 replace(string,old,new[,maxsplit]) 字符串的替换函数,把字符串中的old替换成new。默认是把string中所有的old值替换成new 值,如果给出maxsplit值,还可控制替换的个数,如果maxsplit为1,则只替换第一个old 值。 >>>a="11223344" >>>print string.replace(a,"1","one") oneone2223344 >>>print string.replace(a,"1","one",1) one12223344 capitalize(string) 该函数可把字符串的首个字符替换成大字。 >>> import string >>> print string.capitalize("python") Python split(string,sep=None,maxsplit=-1) 从string字符串中返回一个列表,以sep的值为分界符。 >>> import string >>> ip="192.168.3.3" >>> ip_list=string.split(ip,'.') >>> print ip_list ['192', '168', '3', '3'] all( iterable) 如果迭代的所有元素都是真就返回真。 >>> l = [0,1,2,3] >>> all(l) Flase >>> l = [1,2,3] >>> all(l) True any( iterable) 如果迭代中有一个元素为真就返回真。 >>> l = [0,1,2,3] >>> all(l) True >>> l = [1,2,3] >>> all(l) True basestring() 这个抽象类型是str和unicode的父类。它不能被调用或初始化,但是它可以使用来测试一

VBA,字符串处理大全

1 VBA中的字符串 2 VBA中处理字符串的函数 2.1 比较字符串 2.2 转换字符串 2.3 创建字符串 2.4 获取字符串的长度 2.5 格式化字符串 2.6 查找字符串 2.7 提取字符/字符串 2.8 删除空格 2.9 返回字符代码 2.10 返回数值代表的相应字符 2.11 使用字节的函数 2.12 返回数组的函数 2.13 连接字符串 2.14 替换字符串 2.15 反向字符串 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 VBA中的字符串 VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类字符串: 一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句 Dim strFixedLong As String*100 声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。 另一类为动态字符串。例如,声明字符串变量Dim strDynamic As String后,可以给该变量任意赋值,最多可包含20亿个字符。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 VBA中处理字符串的函数 2.1 比较字符串 通常,在VBA中进行字符串比较时,会用到比较运算符(如=、>等)、Like运算符和StrComp 函数。此外,在模块的开头用Option Compare语句指定比较方式。 2.1.1 比较运算符 可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。此外,还可以使用Like运算符进行比较。2.1.2 StrComp函数 StrComp函数返回字符串比较的结果。其语法为: StrComp(string1,string2[,compare]) 其中,参数string1和strng2为必需的参数,可以是任何有效的字符串表达式。 参数Compare为可选参数,如果该参数为Null,将发生错误。如果参数Compare设置为常数vbUseCompareOption或-1或忽略该参数,将使用Option Compare语句设置进行比较;如果忽略该参数且没有设置Option Compare语句,则按二进制进行比较;如果参数Compare 设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Compare设置为常数vbDatabaseCompare

常用字符串处理函数

常用字符串处理函数(string.h) 1、strlen:求字符串长度 size_t strlen(const char *str); 2、strcpy/strncpy:字符串复制 char *strcpy(char *strDestination, const char *strSource); char *strncpy(char *strDest, const char *strSource, size_t count); 3、strcat/strncat:字符串连接 char *strcat(char *strDestination, const char *strSource); char *strncat( char *strDest, const char *strSource, size_t count); 4、strcmp/strncmp:字符串比较 int strcmp(const char *string1, const char *string2); int strncmp(const char *string1, const char *string2, size_t count); 5、strstr:查找子串 char *strstr(const char *str, const char *strSearch); Parameters str Null-terminated string to search. strSearch Null-terminated string to search for. Return Value Returns a pointer to the first occurrence of strSearch in str, or NULL if strSearch does not appear in str. If strSearch points to a string of zero length, the function returns str. 6、strpbrk:查找字符串strCharSet中的任意字符在字符串str中首次出现的位置char *strpbrk(const char * str, const char *strCharSet); Parameters str Null-terminated, searched string. strCharSet Null-terminated character set. Return Value Returns a pointer to the first occurrence of any character from strCharSet in str, or a NULL pointer if the two string arguments have no characters in common.

C常用字符串函数

C常用字符串函数 平时对字符串的操作的是很多的,了解下常用的字符串函数会使c 编程变得很快捷!这里适当整理一下,方便以后参考。使用时,会用到大量指针的操作,注意加头文件: #include 一、str 系列 1.strtok extern char *strtok( char *s, const char *delim ); 功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。 说明:strtok()用来将字符串分割成一个个片段。当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回被分割出片段的指针。当没有被分割的串时则返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。 举例: /* strtok example */ #include #include int main (void) { char str[] = "- This, a sample string."; char *pch; printf("Splitting string \"%s\" into tokens:\n", str); pch = strtok(str," ,.-"); while (pch != NULL)

{ printf("%s\n", pch); pch = strtok(NULL, " ,.-"); } printf("at the end: %s", str); return0; } Splitting string"- This, a sample string." into tokens: This a sample string the end: - This 注:strtok函数会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。另外貌似制表符\t 无法充当分割字符。 2.strstr char * strstr( const char * str1, const char * str2 ); 功能:从字符串str1 中寻找str2 第一次出现的位置(不比较结束符NULL),如果没找到则返回NULL。 举例: /* strstr example */ #include #include int main () { char str[] = "This is a s i mple string"; char *pch; pch = strstr(str, "s i mple"); strncpy(pch, "s a mple", 6); puts(pch);

相关主题
文本预览
相关文档 最新文档