(1)strstr函数
* strstr函数
* 功能:在字符串strOne中查找第一次出现字符串 strTwo 的位置,不包含终止符 '\0';
* 用法:char *strstr(char *strOne, char *strTwo)
int main(int argc, const char * argv[]) {
char strOne[] = "Hello A World";
char strTwo[] = "A";
char *temp;
temp=strstr(strOne, strTwo);
printf("temp=%s\n",temp);
return 0;
}
PS: 输出结果为”A World”
(2)strrchr
原型:char *strrchr(const char *str, char c)
功能:找一个字符c在另一个字符串str中末次出现的位置(从str的右侧开始查找字符c首次出现的位置)。
返回值:如果找到查找字符,则返回这个位置的地址(返回从字符串中的这个位置起,一直到字符串结束的所有字符)。
如果未能找到指定字符,那么函数将返回NULL
void main(void)
{
char sStr1[100];
sStr1[0] = '\0';
strcpy(sStr1,"Golden Global View");
char *p = strrchr(sStr1,'i'); //从后往前查找'i'
cout<<(p==NULL?"NULL":p)<<endl;
}
(3)strcmp
trcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果
函数形式如下:int strcmp(const char* str1, const char* str2)
其中str1和str2可以是字符串常量或者字符串变量,返回值为整形。返回结果如下规定:
① str1小于str2,返回负值或者-1;
② str1等于str2,返回0;
③ str1大于str2,返回正值或者1;
strcmp函数实际上是对字符的ASCII码进行比较,实现原理如下:首先比较两个串的第一个字符,若不相等,则停止比较并得出两个ASCII码大小比较的结果;如果相等就接着 比较第二个字符然后第三个字符等等。无论两个字符串是什么样,strcmp函数最多比较到其中一个字符串遇到结束符'/0'为止,就能得出结果。
int main() {
char dest[] = "Hello A World";
char sour[] = "A";
int temp1;
temp1 = strcmp(dest, sour);
printf("temp=%d\n", temp1);
return 0;
}
PS: 输出结果为:1
strcpy函数
strcpy函数用于实现两个字符串的拷贝。一般形式是:
strcpy(字符中1,字符串2)
其中,字符串1必须是字符串变量,而不能是字符串常量。strcpy函数把字符串2的内容完全复制到字符串1中,而不管字符串1中原先存放的是什么。复制后,字符串2保持不变。
例: 注意,由于字符串是数组类型,所以两个字符串复制不通过赋值运算进行。
t=s; /*错误的字符串复制*/
strcpy(t,s); /*正确的字符串复制*/