c/c++ strcmp、strstr用法以及str系列中其它函数的用法总结 
设备/引擎:Mac(11.6)/cocos 
开发工具:Xcode(13.0) 
内容概述: c/c++str系列函数的用法总结 
最近工程中需要对字符串进行判断操作,判断其中是否包含某段字符,如:判断一个字符串中是否有“monkey”字符  
这种情况下就需要用到str系列中的strstr  
1.strstr  函数定义:char *strstr(const char str1, const char *str2)  函数功能:查找字符串str2在str1中出现的位置,找到则返回位置,否则返回NULL。  根据定义就能很明确的知道此函数可以用作判断字符A中是否包含字符“b”  只需要判断是否为空即可,如果你需要知道该字段在字符A中的位置,可以取其返回值,写法如下:  
if(strstr(A,"monkey")!=NULL){
}
  
之前经常用的都是strcmp,用来比较两段字符,不过却不能来判断某段字符是否包含在某个字符串中  
2.strcmp  函数定义: int strcmp(const char *str1, const char *str2).  函数功能:比较两个字符串  结果:  当str1指向的字符串大于str2指向的字符串时,返回正数。  当str1指向的字符串等于str2指向的字符串时,返回0。  当str1指向的字符串小于str2指向的字符串时,返回负数。  写法如下:  
if(strcmp(A,B)==0){
}else if(strcmp(A,B)>0){
}else if(strcmp(A,B)<0){
}
  
3.strcpy  函数定义:char *strcpy(char *__dst, const char *__src)  函数功能:拷贝字符串内容到目的串,把_src所指向的内容拷贝到_dst  
const char A[20];
const char B[] = "monkey"; 
strcpy(A,B);
  
4.strcat  函数定义:char *strcat(char *__s1, const char *__s2)  函数功能:连接两个字符串,把_s2连接到_s1后面;返回_s1地址  
const char A[20] = "mon";
const char B[20] = "key";
strcat(A,B);
  
5.strlen  函数定义:unsigned in strlen(const char *str)  函数功能:返回字符串str的长度(不包括’\0’)  
const char A[20] = "money";
int length = strlen(A);
  
6.strchr() strrchr()  strchr:char *strchr(char *str, char c)  功能:查找str中首次出现字符c的位置,如果有,则返回出现的位置,否则返回NULL  
strrchr:char *strrchr(char *str, char c)  功能:查找str中最后一次出现字符c的位置,如果有,则返回出现的位置,否则返回NULL  
const char A[20] = "hedgehhog";
const char C[20] = "";
c = strchr(A,"h");			
c = strrchr(A,"h");			
  
7.strtok  函数定义:char* strtok( char* str,const char* sep );  函数功能:找到str中的下一个标记sep,并将其用 \0 结尾,返回一个指向这个标记的指针。(注: strtok函数会通过置零操作改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容 并且可修改)  
const char A[20] = "hedgehhog";
const char B[20] = "d";
strtok(A,B);
strtok(NULL,B);
  
有关str系列的函数暂时总结了上面这些。  希望能给大家带来帮助!!!有什么问题需要讨论的可以评论私信欢迎讨论~ 
                
                
                
        
        
    
  
 
 |