文档详情

C语言字符串操作总结大全(超详细)

飞***
实名认证
店铺
PDF
16.45KB
约12页
文档ID:47481867
C语言字符串操作总结大全(超详细)_第1页
1/12

C 语言字符串操作总结大全(超详细 )1)字符串操作strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen(p) 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p, c) 在字符串中查找指定字符strrchr(p, c) 在字符串中反向查找strstr(p, p1) 查找字符串strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移* 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符2)字符串到数值类型的转换strtod(p, ppend) 从字符串p 中转换double 类型数值,并将后续的字符串指针存储到ppend 指向的char* 类型存储。

strtol(p, ppend, base) 从字符串p 中转换long 类型整型数值,base 显式设置转换的整型进制,设置为0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型atoi(p) 字符串转换到int 整型atof(p) 字符串转换到double 符点数atol(p) 字符串转换到long 整型3)字符检查isalpha() 检查是否为字母字符isupper() 检查是否为大写字母字符islower() 检查是否为小写字母字符isdigit() 检查是否为数字isxdigit() 检查是否为十六进制数字表示的有效字符isspace() 检查是否为空格类型字符iscntrl() 检查是否为控制字符ispunct() 检查是否为标点符号isalnum() 检查是否为字母和数字isprint() 检查是否是可打印字符isgraph() 检查是否是图形字符,等效于isalnum() | ispunct() 4)函数原型原型: strcpy(char destination[], const char source[]); 功能:将字符串source拷贝到字符串destination 中例程:#include #include void main(void) { char str1[10] = { “TsinghuaOK“}; char str2[10] = { “Computer“}; cout #include void main(void) { char str1[10] = { “Tsinghua “}; char str2[10] = { “Computer“}; cout #include void main(void) { char str1[] = { “Tsinghua “}; char str2[] = { “Computer“}; cout #include void main(void) { char str1[] = { “Tsinghua “}; char str2[] = { “Computer“}; cout #include void main(void) { char buf1[] = “aaa“; char buf2[] = “bbb“; char buf3[] = “ccc“; int ptr; ptr = strcmp(buf2,buf1); if(ptr > 0) cout 0) cout #include void main(void) { char str[100]; cout >str; cout 0, 表示 buf1 大于 buf2. int memicmp(const void *buf1, const void *buf2, size_t count); 比较 buf1 和 buf2 前面 count 个字节 . 与 memcmp 不同的是 , 它不区分大小写. 返回值同上 . char *strrev(char *string); 将字符串string 中的字符顺序颠倒过来. NULL结束符位置不变. 返回调整后的字符串的指针. char *_strupr(char *string); 将 string 中所有小写字母替换成相应的大写字母, 其它字符保持不变. 返回调整后的字符串的指针 . char *_strlwr(char *string); 将 string 中所有大写字母替换成相应的小写字母, 其它字符保持不变. 返回调整后的字符串的指针 . char *strchr(const char *string, int c); 查找字串 string 中首次出现的位置, NULL 结束符也包含在查找中. 返回一个指针 , 指向字符 c 在字符串string 中首次出现的位置, 如果没有找到 , 则返回 NULL. char *strrchr(const char *string, int c); 查找字符c 在字符串string 中最后一次出现的位置, 也就是对string 进行反序搜索 , 包含NULL 结束符 . 返回一个指针 , 指向字符c 在字符串string 中最后一次出现的位置, 如果没有找到, 则返回NULL. char *strstr(const char *string, const char *strSearch); 在字符串string 中查找 strSearch子串 . 返回子串strSearch在 string 中首次出现位置的指针. 如果没有找到子串strSearch, 则返回 NULL. 如果子串 strSearch 为空串 , 函数返回string 值. char *strdup(const char *strSource); 函数运行中会自己调用malloc函数为复制strSource 字符串分配存储空间, 然后再将strSource 复制到分配到的空间中. 注意要及时释放这个分配的空间. 返回一个指针 , 指向为复制字符串分配的空间; 如果分配空间失败, 则返回 NULL 值. char *strcat(char *strDestination, const char *strSource); 将源串 strSource 添加到目标串strDestination 后面 , 并在得到的新串后面加上NULL 结束符 . 源串 strSource 的字符会覆盖目标串strDestination 后面的结束符NULL. 在字符串的复制或添加过程中没有溢出检查, 所以要保证目标串空间足够大. 不能处理源串与目标串重叠的情况. 函数返回strDestination 值 . char *strncat(char *strDestination, const char *strSource, size_t count); 将源串 strSource 开始的 count 个字符添加到目标串strDest 后. 源串 strSource 的字符会覆盖目标串 strDestination 后面的结束符NULL. 如果 count 大于源串长度 , 则会用源串的长度值替换 count 值. 得到的新串后面会自动加上NULL 结束符 . 与 strcat函数一样 , 本函数不能处理源串与目标串重叠的情况. 函数返回strDestination 值. char *strcpy(char *strDestination, const char *strSource); 复制源串strSource 到目标串strDestination 所指定的位置, 包含 NULL结束符 . 不能处理源串与目标串重叠的情况.函数返回strDestination 值. char *strncpy(char *strDestination, const char *strSource, size_t count); 将源串 strSource 开始的 count 个字符复制到目标串strDestination 所指定的位置 . 如果 count值小于或等于strSource 串的长度 , 不会自动添加NULL结束符目标串中, 而 count 大于strSource 串的长度时 , 则将 strSource 用 NULL 结束符填充补齐count 个字符 , 复制到目标串中. 不能处理源串与目标串重叠的情况.函数返回strDestination 值 . char *strset(char *string, int c); 将 string 串的所有字符设置为字符c, 遇到 NULL 结束符停止 . 函数返回内容调整后的string指针 . char *strnset(char *string, int c, size_t count); 将 string 串开始 count 个字符设置为字符c, 如果 count 值大于 string 串的长度 , 将用 string的长度替换count 值. 函数返回内容调整后的string 指针 . size_t strspn(const char *string, const char *strCharSet); 查找任何一个不包含在strCharSet 串中的字符(字符串结束符NULL 除外 ) 在 string 串中首次出现的位置序号. 返回一个整数值, 指定在 string 中全部由characters 中的字符组成的子串的长度 . 如果 string 以一个不包含在strCharSet 中的字符开头, 函数将返回0 值. size_t strcspn(const char *string, const char *strCharSet); 查找strCharSet 串中任何一个字符在string 串中首次出现的位置序号, 包含字符串结束符NULL. 返回一个整数值, 指定在string 中全部由非characters 中的字符组成的子串的长度. 如果string 以一个包含在strCharSet 中的字符开头, 函数将返回0 值. char *strspnp(const char *string, const char *strCharSet); 查找任何一个不包含在strCharSet 串中的字符(字符串结束符NULL 除外 ) 在 string 串中首次出现的位置指针. 返回一个指针, 指向非 strCharSet 中的字符在string 中首次出现的位置. char *strpbrk(const char *string, const char *strCharSet); 查找strCharSet 串中任何一个字符在string 串中首次出现的位置, 不包含字符串结束符NULL. 返回一个指针 , 指向 strCharSet中任一字符在string 中首次出现的位置. 如果两个字符串参数不含相同字符 , 则返回 NULL 值. int strcmp(const char *string1, const char *string2); 比较字符串string1 和 string2 大小 . 返回值 0, 表示 string1 大于 string2. int stricmp(const char *string1, const char *string2); 比较字符串string1 和 string2 大小,和 strcmp 不同 , 比较的是它们的小写字母版本.返回值与strcmp 相同 . int strcmpi(const char *string1, const char 。

下载提示
相似文档
正为您匹配相似的精品文档