【c++】C风格字符串
c语言中没有字符串这种数据类型,只有char字符类型,在C语言中所谓的字符串其实是char数组,数组最后一个元素加上“\0",表示字符串结束,这是一种字符串的表达方式。
例如下面charA、charB是等价的
char charA[] = {"abc"}; char charB[] = { 'a','b','c','\0'};//“\0”字符串结束标志
操纵C风格字符串的函数
#include<cstring>
strlen(s):返回s的长度,不包括字符串结束符号
strcmp(s1,s2):比较两个字符串,相等返回0,大于返回正数,小于返回负数
strcat(s1,s2):将字符串s2连接在s1后面,并返回s1
strcpy(s1,s2):将字符串s2复制给s1,并返回s1
strncat(s1,s2,n):将字符串s2前n个字符,连接在s1后面,并返回s1,注意结束符
strncpy(s1,s2,n):将字符串s2前n个字符复制给s1,并返回s1,注意结束符
strcmp比较字符时,忽略末尾的结束符
char charA[] = { 'a','b','c' }; char charB[] = { 'a','b','c','\0' }; cout << strcmp(charA, charB) << endl; //0 相等
尽可能使用标准库类型string