C++字符数组和string
一、char 数组(C 风格字符串)函数
需包含头文件 include
1.长度计算
strlen(s):返回字符串有效长度(不计 \0)。
注意与 sizeof(s) 区分,后者返回数组总字节数 。
例子:
char a[6]="abcd";
cout<<strlen(a)<<endl; //输出:4
cout<<sizeof(a); //输出:6
2.复制操作
strcpy(dest, src):将 src 复制到 dest,dest 空间需足够大 。
strncpy(dest, src, n):最多复制 n 个字符 。
3.拼接操作
strcat(dest, src):将 src 拼接到 dest 末尾,dest 剩余空间需足够 。
4.比较操作
strcmp(s1, s2):比较两个字符串。相等返回 0,s1>s2 返回正数,s1<s2 返回负数(基于 ASCII 码) 。
strncmp(s1, s2, n):仅比较前 n 个字符 。
5.查找子串和子字符
strstr(s1, s2);
在 s1 找子串 s2,返回子串首地址;找不到返回 NULL
strchr(字符数组, 字符):查找字符 c 在字符串 s 中第一次出现的位置指针,未找到返回 NULL 。
strrchr(字符数组, 字符);找到字符串最后一次出现的 c,常用于找后缀小数点
6.其他常用
memset(s, value, n):将数组前 n 个字节设置为 value(常用于初始化 memset(s, 0, sizeof(s))) 。注意:可以使用memset()将整型数组清0
例子:
char s[10];
memset(s, 'b', 6); //将字符数组前六位初始化为‘b’
cout<<s[0]<<endl; //输出:‘b’
cout<<s[7]<<endl; //输出:null
memset(s,'b',sizeof(s)); //将整个数组初始化为‘b5’
浙公网安备 33010602011771号