C语言实现split函数

article/2025/8/23 16:18:04

实现类似JAVA编程语言中split函数: (这里以空格为分隔符进行演示)

  1. 函数的声明:void split(char *src,const char *separator,char **dest,int *num) {}
  2. 变量:
    1.*src:要进行分割的字符串地址,
    2.*separator:分隔符,设置为常量字符串,这里的分隔符可以为字符串,
    3.**dest:分割结束后数据存储的地址,二维数组,
    4.*num:返回的是字符串中存在的分隔符的数量。
  3. 返回值:这个函数既可以返回分割之后的数组,又可以返回分隔符的数量。 这里使用的是指针的方式返回,修改的是原数据省去了返回这个环节, 当然也可以使用结构体的方式返回。
#include <stdio.h>
#include <string.h> void split(char *src,const char *separator,char **dest,int *num) {char *pNext;//记录分隔符数量 int count = 0;//原字符串为空 if (src == NULL || strlen(src) == 0)return;//未输入分隔符if (separator == NULL || strlen(separator) == 0)return;   /*c语言string库中函数,声明: char *strtok(char *str, const char *delim)参数: str -- 要被分解成一组小字符串的字符串。delim -- 包含分隔符的 C 字符串。返回值:该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。 */char *strtok(char *str, const char *delim); //获得第一个由分隔符分割的字符串 pNext = strtok(src,separator);while(pNext != NULL) {//存入到目的字符串数组中 *dest++ = pNext; ++count;/*strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包涵的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。*/  pNext = strtok(NULL,separator);  }  *num = count;
}    //将一串以空格为分割线的字符串分开,数据存到一个二维数组中去 
int main(){char str[100];char *p[10]={0};int num=0,i;gets(str);//attention!!!!! 这里的分隔符已定要写为字符串的形式。 split(str," ",p,&num);for(i = 0;i < num; i ++) {printf("%s\n",p[i]);}return 0;
} 

在这里插入图片描述
程序运行结果


http://chatgpt.dhexx.cn/article/croE0Kg0.shtml

相关文章

mysql实现自定义split函数

1、自定义split函数脚本 CREATE DEFINER root% FUNCTION tjdemo.fun_get_split_string_total(f_string varchar(1000),f_delimiter varchar(5)) RETURNS int(11) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT BEGIN declare returnInt int(11…

Oracle实现split函数

创建TYPE CREATE OR REPLACE TYPE TYPE_SPLIT AS TABLE OF VARCHAR2 (4000);创建函数 CREATE OR REPLACE FUNCTION SPLIT(P_STRING VARCHAR2, P_SEP VARCHAR2 : ,)RETURN TYPE_SPLITPIPELINED ISIDX PLS_INTEGER;V_STRING VARCHAR2(4000) : P_STRING; BEGINLOOPIDX : INSTR(…

java split函数的用法_java中split函数用法以及注意事项

java中split函数用法以及注意事项 发布时间&#xff1a;2020-04-23 10:28:23 来源&#xff1a;亿速云 阅读&#xff1a;215 作者&#xff1a;小新 本篇文章和大家了解一下java中split函数用法以及注意事项。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希…

mysql 创建函数 split_在mysql中实现split函数的几种方法

在mysql中实现split函数的几种方法 关注:98 答案:2 mip版 解决时间 2021-02-07 11:27 提问者夜落花台 2021-02-07 02:11 在mysql中实现split函数的几种方法 最佳答案 二级知识专家蓝莓九栀 2021-02-07 03:28 mysql 5.* 的版本现在没有split 函数,以下是几个自定义的split函数…

Oracle split函数

一、创建split函数 1、创建TYPE CREATE OR REPLACE TYPE TYPE_SPLIT AS TABLE OF VARCHAR2 (4000); / 2、创建split函数 CREATE OR REPLACE FUNCTION SPLIT(P_STRING VARCHAR2, P_SEP VARCHAR2 : ,)RETURN TYPE_SPLITPIPELINED ISIDX PLS_INTEGER;V_STRING VARCHAR2(4000)…

mysql有split函数么_mysql中split函数

在mysql中并没有split函数,需要自己写: 1)获得按指定字符分割的字符串的个数: Sql代码 DELIMITER$$ DROP FUNCTION IFEXISTS`sims`.`func_get_split_string_total`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `func_get_split_string_total`( f_strin 在mysql中并没有sp…

Python之split函数的详解

目录 一、split函数的官方定义 二、split函数的深刻理解 二、split函数的深刻理解 split函数主要应用场景是Python对字符串的处理中&#xff08;数据分析&#xff0c;数据处理&#xff09;&#xff0c;以及计算机二级考试的常考基础知识点。 一、split函数的官方定义 定义…

Python基础之split()函数

一、split()函数描述 split() 通过指定分隔符对字符串进行切片&#xff0c;如果参数 num 有指定值&#xff0c;则分隔 num1 个子字符串split() 方法语法&#xff1a; 二、split()用法 语法&#xff1a; str.split(str"", numstring.count(str)) 参数&#xff1a; str…

分割字符串split函数的正确用法(切片)

分割字符串split函数的正确用法&#xff08;切片&#xff09; split函数是将字符串分割为列表 函数原型&#xff1a; str.split(sep,maxsplit)参数说明&#xff1a; str:表示要进行分割的字符串sep:用于指定分隔符&#xff0c;可以包含多个字符&#xff0c;默认为None,即所有…

PostgreSQL 视图

详细了解视图、函数&#xff08;存储过程&#xff09;、触发器、别名 视图篇 一、视图定义 引言: 假设天气记录和城市为止的组合列表对我们的应用有用&#xff0c;但我 们又不想每次需要使用它时都敲入整个查询。我们可以在该查询上创建一个视图&#xff0c;这会给该 查询一…

SQL Server 数据库之视图(二)

视图&#xff08;二&#xff09; 1. 查询视图信息1.1 查询和视图设计工具1.2 关系图视图1.3 条件窗格1.4 SQL 窗格1.5 结果窗格1.6 SQL 编辑器1.7 获取有关视图的信息 2. 创建基于视图的视图3. 删除视图 1. 查询视图信息 1.1 查询和视图设计工具 打开视图的定义、显示查询视图…

hive视图

Hive的视图 应用场景将特定的列提供给用户&#xff0c;保护数据隐私 用于查询语句复杂的场景 通过隐藏子查询、连接和函数来简化查询的逻辑结构只保存定义&#xff0c;不存储数据 如果删除或更改基础表&#xff0c;则查询视图将失败 视图是只读的&#xff0c;不能插入或装载数据…

mysql 查询视图_MySQL查看视图

查看视图 是指查看数据库中&#xff0c;已经存在的视图的定义 查看视图&#xff0c;必须要有SHOW VIEW的权限 查看视图有三种方式 DESCRIBE语句 使用DESCRIBE语句&#xff0c;查看视图 MySQL中&#xff0c;使用DESCRIBE可以查看视图的字段信息&#xff0c;其中&#xff0c;包括…

UML 视图

概述 事物&#xff08;Things&#xff09;、关系(Relationships) 是组成 UML 模型的基本模型元素&#xff0c;图由模型元素事物和关系构成&#xff0c;视图由各种图构成。 随着系统复杂性的增加&#xff0c;建模就成了必不可少的工作。理想情况下&#xff0c;系统由单一的图形…

MYSQL基础之 视图

概念 什么是视图&#xff1f; 视图是基于 SQL 语句的结果集的可视化的表。 当然视图也是数据库中对象之一&#xff0c;其它的对象包括&#xff1a;表&#xff0c;数据字典&#xff0c;约束,索引&#xff0c;触发器&#xff0c;存储过程&#xff0c;以及存储函数。这些后面再…

ClickHouse 物化视图

像通常的计算一样&#xff0c;强大的能力意味着至少有一点复杂性。这篇由两部分组成的文章通过准确解释物化视图的工作原理来填补空白&#xff0c;以便即使是初学者也可以有效地使用它们。我们将提供几个详细的示例&#xff0c;您可以根据自己的用途进行调整。在此过程中&#…

mysql通过视图插入数据_数据库视图 sql

数据库必知词汇&#xff1a;数据库视图 视图是从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义&#xff0c;不存放视图对应的数据。视图与表(有时为与视图区别&#xff0c;也称表为基本表——Base Table)不同&#xff0c;视图所对应的数据不…

ABAP 视图

视图:视图支持几核查询一个或多个表里存在的数据的功能。在ABAP数据字典中激活视图会在数据库中生产次视图,访问此数据库视图需要用数据库接口进行访问。只是查询必要的表和字段不需要查询没必要的字段,因此可以最小化接口。视图和表一样,可以在ABAP程序的SELECT语句中使用…

oracle视图在查询里,oracle视图

手机评站网今天精心准备的是《oracle视图》,下面是详解! 怎么在oracle中查询出所有的视图view? 1、通过pl/sql,登录oracle数据库, 2、敲入sql,可以查询本库的所有视图view,select * from all_views t,结果中owner代表不同的用户; 3、如果查看本用户的所有视图view,执…

视图的概述

1.概念和特点 <1>概念&#xff1a;视图&#xff08;view&#xff09;是一种虚拟存在的表&#xff0c;本身并不包含数据。它是作为一个select语法查询到的结果集&#xff0c;以此为基表创建的一张虚拟表。对视图的操作对基表有直接影响,[视图中的数据发送了改变&#xff…