标准库
C 标准库
C 标准库操作字符数组 char[]/const char*。
printf("%s", s):用%s来输出一个字符串(字符数组)。scanf("%s", &s):用%s来读入一个字符串(字符数组)。sscanf(const char *__source, const char *__format, ...):从字符串__source里读取变量,比如sscanf(str,"%d",&a)。sprintf(char *__stream, const char *__format, ...):将__format字符串里的内容输出到__stream中,比如sprintf(str,"%d",i)。strlen(const char *str):返回从str[0]开始直到'\0'的字符数。注意,未开启 O2 优化时,该操作写在循环条件中复杂度是 的。strcmp(const char *str1, const char *str2):按照字典序比较str1 str2若str1字典序小返回负值,两者一样返回0,str1字典序更大则返回正值。请注意,不要简单的认为返回值只有0、1、-1三种,在不同平台下的返回值都遵循正负,但并非都是0、1、-1。strcpy(char *str, const char *src): 把src中的字符复制到str中,strsrc均为字符数组头指针,返回值为str包含空终止符号'\0'。strncpy(char *str, const char *src, int cnt):复制至多cnt个字符到str中,若src终止而数量未达cnt则写入空字符到str直至写入总共cnt个字符。strcat(char *str1, const char *str2): 将str2接到str1的结尾,用*str2替换str1末尾的'\0'返回str1。strstr(char *str1, const char *str2):若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。strchr(const char *str, int c):找到在字符串str中第一次出现字符c的位置,并返回这个位置的地址。如果未找到该字符则返回NULL。strrchr(const char *str, int c):找到在字符串str中最后一次出现字符c的位置,并返回这个位置的地址。如果未找到该字符则返回NULL。
C++ 标准库
C++ 标准库操作字符串对象 std::string,同时也提供对字符数组的兼容。
参见:std::basic_string、std::basic_string_view
- 重载了赋值运算符
+,当+两边是string/char/char[]/const char*类型时,可以将这两个变量连接,返回连接后的字符串(string)。 - 赋值运算符
=右侧可以是const string/string/const char*/char*。 - 访问运算符
[cur]返回cur位置的引用。 - 访问函数
data()/c_str()返回一个const char*指针,内容与该string相同。 - 容量函数
size()返回字符串字符个数。 find(ch, start = 0)查找并返回从start开始的字符ch的位置;rfind(ch)从末尾开始,查找并返回第一个找到的字符ch的位置(皆从0开始)(如果查找不到,返回-1)。substr(start, len)可以从字符串的start(从0开始)截取一个长度为len的字符串(缺省len时代码截取到字符串末尾)。append(s)将s添加到字符串末尾。append(s, pos, n)将字符串s中,从pos开始的n个字符连接到当前字符串结尾。replace(pos, n, s)删除从pos开始的n个字符,然后在pos处插入串s。erase(pos, n)删除从pos开始的n个字符。insert(pos, s)在pos位置插入字符串s。std::string重载了比较逻辑运算符,复杂度是 的。
本页面最近更新:2024/4/5 13:44:21,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:Ir1d, zymooll, Xeonacid, ksyx, StudyingFather, Enter-tainer, flyhahe, Frankaiyou, henrytbtrue, Chrogeek, NachtgeistW, shuzhouliu, Tiphereth-A, tomirillaris
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用