常见字符串操作,先列这几个吧。
#include<stdio.h> #include<string.h> #include<ctype.h> //删除字符串中指定字符 char * DeleteChar(char *s, char c)//c为要删除字符 { int i, j = 0; for ( i = 0; *(s + i) != '\0'; i++) { if (*(s + i) != c) { *(s + j) = *(s + i); j++; } } *(s + j) = '\0'; return s; } //求字符串长度 int str_length(const char *s) { int count = 0; while (*s++ != '\0') { count++; } return count; } //字符串大小写转换 void Tolower(char *s) { for (int i = 0; *(s + i) != '\0'; i++) { if (*(s + i) >= 65 && *(s + i) <= 90) { *(s + i) = *(s + i) + 32; } } } //字符串连接 char * str_cat(char *s1, const char *s2) { char *temp = s1; while (*s1 != '\0') { s1++; }; while (*s2 != '\0') { *s1++ = *s2++; } *s1 = '\0'; return temp; } //字符串复制 char * str_cpy(char *s1, char *s2) { char *temp = s1; while (*s2 != '\0') { *s1++ = *s2++; } *s1 = '\0'; return temp; } int main(void) { char s[20] = "hefahifAZfpiwf"; //字符串长度 printf("字符串长度为%d\n", str_length(s)); //删除字符串中'h'字符 DeleteChar(s, 'h'); printf("%s\n", s); //转换为小写字符 Tolower(s); printf("转换为小写字母:%s\n", s); //连接两个字符 char s1[30] = "haha"; char s2[10] = "ffafhi"; str_cat(s1, s2); printf("将s2连接到s1后:%s\n", s1); char s3[10] = "zhaf"; char s4[10] = "fah"; str_cpy(s3, s4); printf("将s4复制到s3后:%s\n", s3); }
C语言自带的字符串处理函数
1.strlen,求字符串长度
size_t strlen(const char *s) { size_t len = 0; while (*s++) len++; return len; }
不包括null字符在内的字符串长度
2.strcpy,字符串复制
char *strcpy(char *s1, const char *s2) { char *temp = s1; while (*s1++ = *s2++); return temp; }