请用c++写一个字符串分割函数

下面是一个使用 C 语言写的字符串分割函数的示例:

``` #include <stdio.h> #include <string.h> #include <stdlib.h>

// 定义一个结构体用于表示分割后的子串 typedef struct { char *str; // 子串的内容 int len; // 子串的长度 } substring;

// 定义一个函数用于分割字符串 // 参数 str 指向需要分割的字符串,参数 delim 指向分隔符字符串,参数 substrings 指向分割后的子串数组 // 函数返回分割后的子串数量 int split_string(char *str, char *delim, substring *substrings) { // 定义一个指针变量 p 指向当前位置 char *p = str; // 定义一个计数器 count 用于记录分割后的子串数量 int count = 0; // 使用循环不断地分割字符串 while (1) { // 在字符串中查找下一个分隔符 char *q = strstr(p, delim); // 如果分隔符不存在,则表示已经分割完成 if (q == NULL) { // 将剩余的字符串作为最后一个子串 substrings[count].str = p; substrings[count].len = strlen(p); // 返回子串数量 return count + 1; } // 否则将当前子串的内容和长度记录到数组中 substrings[count].str = p; substrings[count].len = q - p; // 将指针 p 移动到下一个子串的开头 p = q + strlen(delim); // 增加子串计数器 count++;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值