GESP 第三级 string和char数组
GESP 三级(C++)主要考察 string 类成员函数 和 char 数组对应的 C 风格字符串函数(需包含 <cstring> 头文件)。以下是考试核心涉及的函数清单:
一、string 类常用函数
需包含头文件 include <string>,对象通常定义为 string s;。
- 长度与判空
s.size()或s.length():返回字符串字符个数(不含结束符)。s.empty():判断是否为空,返回bool值 。
- 访问与修改
s[i]:通过下标访问第 i 个字符(下标从 0 开始)。s += str或s = s + str:字符串拼接 。s.push_back(c):在末尾追加一个字符 。s.clear()或s = "":清空字符串 。
- 查找与截取
s.find(sub, pos):从 pos 位置开始查找子串sub,找到返回起始下标,未找到返回string::npos。s.substr(pos, len):从 pos 开始截取长度为 len 的子串;若省略 len 则截取到末尾 。
- 删除与替换
s.erase(pos, len):从 pos 开始删除 len 个字符 。s.replace(pos, len, str):从 pos 开始删除 len 个字符,并插入字符串str。
二、char 数组(C 风格字符串)函数
需包含头文件 include <cstring>,数组定义为 char s;,必须以 \0 结尾 。
- 长度计算
strlen(s):返回字符串有效长度(不计\0)。注意与sizeof(s)区分,后者返回数组总字节数 。
- 复制操作
strcpy(dest, src):将src复制到dest,dest空间需足够大 。strncpy(dest, src, n):最多复制 n 个字符 。
- 拼接操作
strcat(dest, src):将src拼接到dest末尾,dest剩余空间需足够 。
- 比较操作
strcmp(s1, s2):比较两个字符串。相等返回 0,s1>s2 返回正数,s1<s2 返回负数(基于 ASCII 码) 。strncmp(s1, s2, n):仅比较前 n 个字符 。
- 其他常用
strchr(s, c):查找字符c在字符串s中第一次出现的位置指针,未找到返回NULL。memset(s, value, n):将数组前 n 个字节设置为value(常用于初始化memset(s, 0, sizeof(s))) 。
三、字符处理辅助函数(配合遍历使用)
需包含头文件 include <cctype>,用于单个字符判断与转换:
isupper(c)/islower(c):判断是否为大写/小写字母。isdigit(c):判断是否为数字。toupper(c)/tolower(c):转换为大写/小写 。
天助自助者

浙公网安备 33010602011771号