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系列的函数暂时总结了上面这些。 希望能给大家带来帮助!!!有什么问题需要讨论的可以评论私信欢迎讨论~
|