C语言的一些string函数

来源:互联网 发布:淘宝店铺如何解封 编辑:程序博客网 时间:2024/05/20 22:40

strcmp函数:

原型:extern int strcmp(const char *s1,const char * s2);

用法:#include <string.h>

功能:比较字符串s1和s2。

说明: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如: "A"<"B" "a">"A" "computer">"compare"

特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。

 

strcpy函数:

原型:extern char *strcpy(char *dest,char *src);

用法:#include <string.h>

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。

给一个很经典版本的strcpy函数源码:
char *strcpy(char *strDest, const char *strSrc);
{
  assert((strDest!=NULL) && (strSrc !=NULL));//对源地址和目的的非零断言
  char *address = strDest;
  while( (*strDest++ = * strSrc++) != ‘\0’ )
  return address ; //为了实现链式操作,实现目的地址的返回
}

在拷贝时,要考虑到"\0"字节,这个是字符串结尾字符。

返回值:what‘s the reason?

char sz0[100] = "liu_feng_fly";
char sz1[100];
char sz2[100];
strcpy(sz2,strcpy(sz1,sz0));
这样连接起来用的时候就需要了
---------------------------------------------------------------

这个是为了方便你是用函数的执行结果作为其他函数的参数或者表达式中的一项。
---------------------------------------------------------------

有很多的返回值是用来判断这个函数执行成功于否

 

strcat函数:

原型:extern char *strcat(char *dest,char *src);用法:#include <string.h>   在C++中,则存在于<cstring>头文件中。功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   返回指向dest的指针。举例  // strcat.c   #include <syslib.h>   #include <string.h>   main()   {   char d[20]="Golden Global";   char *s=" View";   strcat(d,s);   printf("%s",d);   getchar();   return 0;   }   程序执行结果为:   Golden Global View

 

strlen函数:

原型:extern unsigned int strlen(char *s);,在Visual C++ 6.0中,原型为size_t strlen( const char *string );,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t;。

头文件:string.h
格式:strlen (字符数组名)
功能:计算字符串s的(unsigned int型)长度,不包括'\0'在内

说明:返回s的长度,不包括结束符NULL。

 

strlwr函数与strupr函数:

原型:char *_strlwr( char *string );头文件:include<string.h>功能:把字符串中的所有字母转换为小写字母相对的,转换为大写字母的函数是_strupr