strlen()—获取字符串长度
函数原型:
1 2
| size_t strlen(const char *str);
|
size_t是定义在”stddef.h”头文件中的数据类型。其在32位架构中相当于unsigned int,而在64位架构中为unsigned long。这种随操作系统架构而改变的数据类型增强了程序的跨平台移植性。更多有关size_t内容请参考Jeremy。
用例:
1 2
| char str[] = "Hello World!"; cout << strlen(str) << endl;
|
strcpy()—字符串的复制
函数原型:
1
| char *strcpy(char *strTo, char *strFrom);
|
strcpy()的返回值是指向一个某个字符数组首元素的指针,经过测试,这个指针所指的字符串就是上述参数列表中的strTo。
用例:
1 2 3 4 5 6
| char str1[] = "Hello World!"; char str2[strlen(str1)]; strcpy(str2, str1); cout << str2 << endl;
cout << strcpy(str2, str1) << endl;
|
strcmp()—字符串的比较
函数原型:
1
| int strcmp(const char *str1, const char *str2);
|
strcmp()的工作原理为:从两个字符串的首个字符开始,逐位比对其ASCII码值。若前者大于后者则返回1并结束比较,否则返回-1并结束比较;若二者相等,则继续比较下一个。若二者长度相等且两个字符串所有对位都相同,则返回0(如:”abc”和”abc”)。若二者长度不相等,但是前边长度相等的部分字符也相等,且前者较长则返回1(如:”abcd”和”abc”);否则返回-1(如:”abc”和”abcd”)。
用例:
1 2 3
| cout << strcmp("aBc", "abc") << endl; cout << strcmp("abcD", "abc") << endl; cout << strcmp("", "") << endl;
|
strcat()—字符串的拼接
函数原型:
1
| char *strcat(char *str1, char *str2);
|
该函数将str2拼接到str1后,新字符串放入str1中,函数返回值为str1的首字符地址。
用例:
1 2 3 4
| char str1[] = "Hello", str2[] = "!"; cout << strlen(str1) << endl; strcat(str1, str2); cout << strlen(str1) << endl;
|
转载请注明来源:©Tinshine