C++字符处理函数都定义在<cstdio>和<cstring>中,以下列出字符处理函数并解释。
sprintf(),vsprintf()? 输出格式数据至指定字符串
strcat(),wcscat(),strncat(),wcsncat()? 串接两个字符串
strchr(),wcschr(),strrchr(),wcsrchr()? 在字符串中查找指定的字符
strcmp(),wcscmp(),strncmp(),wcsncmp()? 比较两个字符串的大小
srtcpy(),wcscpy(),strncpy(),wcsncpy()? 将字符串拷贝到另外一个字符串
strcspn(),wcscspn()? ?在字符串中查找指定子串中任意字符的出现位置
strerror()? ?返回错误号对应的错误信息
strlen(),wcslen()? ?返回字符串的长度
strpbrk(),wcspbrk()? 在字符串中查找指定子串中任意字符,并返回该位置的指针
strspn(),wcsspn()? 在字符串中查找指定子串的出现位置
strstr(),wcsstr()? ? 在字符串中查找指定子串的出现位置,并返回该位置的指针
strtok(),wcstok()? ?用来拆分字符串,返回下一个子串
字符串处理函数拆分字符串例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// Author 梁笔记 // https://zouzhongliang.com #include <iostream> #include <cstring> using namespace std; int main() { char str[20]; sprintf(str, "%f", 3.323); puts(str); char str1[] = "people’s daily online-English-People's Daily Online"; char seps[] = " -"; char* token = strtok(str1, seps); while(token !=NULL){ cout<<token<<endl; token = strtok(NULL,seps); } return 0; } |
拆分字符串代码运行结果:
1 2 3 4 5 6 7 8 |
3.323000 people’s daily online English People's Daily Online |