查找一个字符串前缀
size_t strspn(char const *str,char const *group)
size_t strcspn(char const *str,char const *group)
strspn 返回str起始部分匹配group中任意字符的字符数
strcspn他对str字符串起始部分中部与group中任何字符匹配的字符进行技术
在字符串中查找指定字符串最后一次出现的位置
strrstr
#include<stdio.h> #include<assert.h> #include<string.h> #include<stdlib.h> char *strrstr(const char*str1, char *str2) { assert(str1); assert(str2); char *last = NULL; char *cur = strstr(str1, str2); while (cur != NULL) { last = cur;//last保存自字符串不为空的最后一个地址 cur = strstr(cur+1, str2); } return last;//返回最后一次出现的位置 } int main() { char *p = "abcdefgabcdef"; char *q = "cdef"; char *ret = strrstr(p, q); printf("%s\n", ret); system("pause"); return 0; }
strtok它从字符串中隔离各个单独的称为标记(token)的部分,并舍弃分隔符
char *strtok(char *str,char const *sep)
sep的参数是字符串,定义了做分隔符的字符集合
若strtok的第一个参数不是NULL,函数将找到字符串的第一个标记,strtok同时保存它在字符串的位置
若strtok的第一个参数是NULL,函数就在同一个字符串中从这个被保存的位置开始像前面一样查找下一个标记
//strtok #include<stdio.h> #include<string.h> int main() { char *p = "193.168.0.1"; char arr[20]; strcpy(arr, p); char *token = NULL; /*char *token = strtok(arr, "."); printf("%s\n",token); while (token != NULL) { token = strtok(NULL, "."); if (token!=NULL) printf("%s\n", token); }*/ for (token = strtok(arr, "."); token != NULL; token = strtok(NULL, ".")) { printf("%s\n", token); } system("pause"); return 0;} //
strerror
char *strerror(int error_number)
//打开文件 //errno #include<stdio.h> #include<errno.h> int main() { FILE *pf = fopen("c:\\codetest.text", "r"); if (pf == NULL) { printf("error:%s\n", strerror(errno)); //打印相应错误信息 //若正确 输出no error //若这个文件名不存在,则输出“error:No such file or dictory”等 printf("open file error\n"); } systme("pasue"); return 0; } //错误描述信息 // char *strerror(int error_number); //返回错误码所带的错误信息 //strerror(errno) //在头文件errno.h中定义了一个errno错误码 当发生错误,将错误码置成当前的错误码 //
内存操作
要操作的内容有“\0”时,字符串函数具有局限性
void *memcpy(void *dst,void const *src,zise_t length)
void *memmove(void *dst,void const *src,zise_t length)
void *memcmp(void *a,void const *b,zise_t length)
voif *memchr(void *a,int ch,zise_t length)
对某个空间初始化
memset
void memset(void *dest,int c,size_t count)
时间: 2024-10-17 23:15:16