关于字符串类的函数的使用。

1.strlen()

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。

例如 char a[]="abcd/0abc"      strlen(a)他的值是4.

 

 

2.strcmp()     (全称:string compare)    

其中:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止   (所以对于我这样的初学者,只需要用到判定两个字符串是否相等,即返回值是否为0)

 

C/C++函数,比较两个字符串

设这两个字符串为str1,str2,       strcpy(str1,str2)   

若str1==str2,则返回零;          显然这里用到是判定两字符串是否相等。

若str1<str2,则返回负数;     

 若str1>str2,则返回正数。

  对于这不等于0的情况,目前我这基础只适合用来对一些字符串的排序问题。    

例如:学生管理系统中名字排序问题(这里保证学生的名和姓都为字母('a'~‘z')    first name(名字)   last name(姓) 。显然按照ASCII和strcmp可以解决该类问题。

 

 

 

3.strcpy()        (copy)

例如两个字符串  str1 =hello ,str2=hi          其中str1[100],str2[100],

puts (strcpy(str2,str1))       输出结果是  hello         

puts (strcpy(str1,str2))       输出结果是 hi    因为str2的字符串是"hi/0"进行copy操作的时候,会把/0也进行复制。

注意点:strcpy(str1,str2)   如果str2声明的长度小于str1的声明长度,那么程序会出错。

 

 

 

4.strcat()   //字符串的合并函数

例如两个字符串str1=“www.”  和str2=“4399.com”  

char *p;

p=strcat(str1,str2);

puts(s);             结果输出  www.4399.com   

 

 

 

5.strstr (str1,str2)    //在str1中查找str2,即查找子序列。

若str1中存在str2那么返回值将会是在str1中的子序列str2的首地址。

若不存在,这返回NULL。 

 

posted @ 2018-03-20 22:19  生活待我如初恋  阅读(210)  评论(0编辑  收藏  举报