找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 448|回复: 4
打印 上一主题 下一主题
收起左侧

C语言strtok函数怎么分割实时字符串

[复制链接]
跳转到指定楼层
楼主
ID:1120129 发表于 2024-5-17 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假如char a[10]="28.3a23.3"
怎么样才能把这a[10]分成两个不同的字符串数组

分成如char b[5]="28.3"
          char c[5]="23.3"
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:879809 发表于 2024-5-17 17:19 | 只看该作者
自己写,遇到不是数字或小数点就分割好了。
回复

使用道具 举报

板凳
ID:69038 发表于 2024-5-17 17:57 | 只看该作者
网上搜来的:
#include <string.h>
#include <stdio.h>

int main () {
   char str[80] = "aaa - bbb - ccc";
   const char s[2] = "-";   //字符串里可以是一个分隔符,也可以是分隔符的集合
   char *token;
   
   /* 获取第一个子字符串 */
   token = strtok(str, s);
   
   /* 继续获取其他的子字符串 */
   while( token != NULL ) {
      printf( "%s\n", token );
   
      token = strtok(NULL, s);
   }
   
   return(0);
}
回复

使用道具 举报

地板
ID:1120129 发表于 2024-5-17 18:43 | 只看该作者
zhuls 发表于 2024-5-17 17:57
网上搜来的:
#include
#include

最后分割完的全存在指针数组token里,我就是想问问怎么才能把token里的数据分在两个不同的字符串数组,指针数组我看不太懂.
回复

使用道具 举报

5#
ID:123289 发表于 2024-5-17 23:44 | 只看该作者
首先必然有个分割规则,而后按规则执行就可以了。
假如本例a是分割符,
那么,依序逐一取字符,并逐一拼装。
遇到a,就结束本次接装,
然后再依序逐一取字符,并进入下一个逐一拼装。
直至最后一个字符。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表