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