C中标准库的字符串函数

对于字符串数组的一些操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int strlen(const char *str)
返回str字符串中字符的个数
sscanf(const char *a,const char *format,...)
从字符串a读取变量,比如 sscanf(str,"%d",&a) 。
sprintf(char *__stream, const char *__format, ...)
将 __format 字符串里的内容输出到 __stream 中,比如 sprintf(str,"%d",i) 。
int strcmp(const char *str1, const char *str2)
按照字典序比较 str1 str2 若 str1 字典序小返回负值,一样返回 0,大返回正值 请注意,不要简单的认为只有 0, 1, -1 三种,在不同平台下的返回值都遵循正负,但并非都是 0, 1, -1
char *strcpy(char *str, const char *src)
把 src 中的字符复制到 str 中, str src 均为字符数组头指针,返回值为 str 包含空终止符号 '\0' 。
char *strncpy(char *str, const char *src, int cnt)
复制至多 cnt 个字符到 str 中,若 src 终止而数量未达 cnt 则写入空字符到 str 直至写入总共 cnt 个字符。
char *strcat(char *str1, const char *str2)
将 str2 接到 str1 的结尾,用 *str2 替换 str1 末尾的 '\0' 返回 str1 。
char *strstr(char *str1, const char *str2)
若 str2 是 str1 的子串,则返回 str2 在 str1 的首次出现的地址;如果 str2 不是 str1 的子串,则返回 NULL 。
char *strchr(const char *str, int c)
找到在字符串 str 中第一次出现字符 c 的位置,并返回这个位置的地址。如果未找到该字符则返回 NULL 。
char *strrchr(const char *str, char c)
找到在字符串 str 中最后一次出现字符 c 的位置,并返回这个位置的地址。如果未找到该字符则返回 NULL 。

std::string

1
2
3
4
5
6
7
8
赋值运算符 = 右侧可以是 const string/string/const char*/char*; 
访问运算符 [cur] 返回 cur 位置的引用;
容量函数 size() 返回字符串字符个数;
成员比较函数 string a,b;a.compare(b);
删除函数:a.erase(begin,end);
排序函数:sort(s.begin(),s.end());
查找函数:find(char c,pos)
-1表示查不到字符