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 += strs = 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 复制到 destdest 空间需足够大 。
    • 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):转换为大写/小写 。
posted @ 2026-06-17 18:36  似鬼年华  阅读(9)  评论(0)    收藏  举报