sizeof strlen string.lenth()之例子 string,char,char*,char a[], sizeof,strlen(),str.length()...

 char *p="abcdefg";
 string str1="abcdefg";
 printf("strlenth=%d\r\n", strlen(p));
 printf("strsizeof(*p)=%d\r\n",sizeof(*p));
 printf("strlenth()=%d\r\n",str1.length());
 printf("strsizeof()=%d\r\n",sizeof(str1));
 printf("strsizeof(p)=%d\n",sizeof(p));

输出

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
函数名为 ReplaceString,它接受三个参数:一个指向字符串的指针 str,一个指向字符串的指针 s1,一个指向字符串的指针 s2。函数的返回值是一个指向字符的指针,它指向一个新的字符串,该字符串是在 str 中将所有出现的 s1 字符串替换为 s2 字符串后得到的结果。 以下是一个示例实现: ``` char *ReplaceString(char * str, char * s1, char * s2) { int s1_len = strlen(s1); int s2_len = strlen(s2); int str_len = strlen(str); int count = 0; // 统计字符串中 s1 的出现次数 char *ptr = str; while ((ptr = strstr(ptr, s1)) != NULL) { count++; ptr += s1_len; } // 分配内存来存储新的字符串 int new_str_len = str_len + count * (s2_len - s1_len) + 1; char *new_str = (char *)malloc(new_str_len * sizeof(char)); // 复制原始字符串到新的字符串,并替换 s1 ptr = str; char *new_ptr = new_str; while (*ptr) { if (strstr(ptr, s1) == ptr) { strcpy(new_ptr, s2); new_ptr += s2_len; ptr += s1_len; } else { *new_ptr++ = *ptr++; } } *new_ptr = '\0'; return new_str; } ``` 在上述代码中,我们首先计算了 s1、s2 和 str 的长度,以及 s1 在 str 中出现的次数。接着,我们根据新字符串的长度分配了足够的内存,并将原始字符串复制到新字符串中,并替换 s1 字符串。最后,我们返回了新字符串的指针。 需要注意的是,由于新字符串是在函数内部动态分配的,因此在使用完毕后需要手动释放内存,以避免内存泄漏。例如: ``` char *new_str = ReplaceString(str, s1, s2); // 使用 new_str free(new_str); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值