【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

 

posted @ 2021-08-18 18:27  王牌飞行员_里海  阅读(198)  评论(0编辑  收藏  举报