C语言实现split函数

  • Post author:
  • Post category:其他


#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;
} 

 



欢迎使用Markdown编辑器

你好! 这是你第一次使用

Markdown编辑器

所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。



新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:


  1. 全新的界面设计

    ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown

    将代码片显示选择的高亮样式

    进行展示;
  3. 增加了

    图片拖拽

    功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的

    KaTeX数学公式

    语法;
  5. 增加了支持

    甘特图的mermaid语法


    1



    功能;
  6. 增加了

    多屏幕编辑

    Markdown文章功能;
  7. 增加了

    焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置

    等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了

    检查列表

    功能。



功能快捷键

撤销:

Ctrl/Command

+

Z


重做:

Ctrl/Command

+

Y


加粗:

Ctrl/Command

+

B


斜体:

Ctrl/Command

+

I


标题:

Ctrl/Command

+

Shift

+

H


无序列表:

Ctrl/Command

+

Shift

+

U


有序列表:

Ctrl/Command

+

Shift

+

O


检查列表:

Ctrl/Command

+

Shift

+

C


插入代码:

Ctrl/Command

+

Shift

+

K


插入链接:

Ctrl/Command

+

Shift

+

L


插入图片:

Ctrl/Command

+

Shift

+

G


查找:

Ctrl/Command

+

F


替换:

Ctrl/Command

+

G



合理的创建标题,有助于目录的生成

直接输入1次

#

,并按下

space

后,将生成1级标题。

输入2次

#

,并按下

space

后,将生成2级标题。

以此类推,我们支持6级标题。有助于使用

TOC

语法后生成一个完美的目录。



如何改变文本的样式


强调文本


强调文本


加粗文本


加粗文本


标记文本


删除文本

引用文本

H

2

O is是液体。

2

10

运算结果是 1024.



插入链接与图片

链接:

link

.

图片:
Alt

带尺寸的图片:
Alt

居中的图片:
Alt

居中并且带尺寸的图片:
Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。



如何插入一段漂亮的代码片



博客设置

页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的

代码片

.

// An highlighted block
var foo = 'bar';



生成一个适合你的列表

  • 项目

    • 项目

      • 项目
  1. 项目1
  2. 项目2
  3. 项目3

  • 计划任务

  • 完成任务



创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1



设定内容居中、居左、居右

使用

:---------:

居中

使用

:----------

居左

使用

----------:

居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左



SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII
HTML
Single backticks
'Isn't this fun?'
‘Isn’t this fun?’
Quotes
"Isn't this fun?"
“Isn’t this fun?”
Dashes
-- is en-dash, --- is em-dash
– is en-dash, — is em-dash



创建一个自定义列表

Markdown

Text-to-

HTML

conversion tool

Authors

John
Luke



如何创建一个注脚

一个具有注脚的文本。


2



注释也是必不可少的

Markdown将文本转换为

HTML



KaTeX数学公式

您可以使用渲染LaTeX数学表达式

KaTeX

:

Gamma公式展示



Γ

(

n

)

=

(

n

1

)

!

n

N

\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N






Γ


(


n


)




=








(


n













1


)


!







n













N





是通过欧拉积分





Γ

(

z

)

=

0

t

z

1

e

t

d

t

.

\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.






Γ


(


z


)




=




















0






























t











z





1











e














t










d


t




.





你可以找到更多关于的信息

LaTeX

数学表达式

here

.



新的甘特图功能,丰富你的文章

Mon 06 Mon 13 Mon 20 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
  • 关于

    甘特图

    语法,参考

    这儿

    ,



UML 图表

可以使用UML图表进行渲染。

Mermaid

. 例如下面产生的一个序列图:

张三 李四 王五 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 李四想了很长时间, 文字太长了 不适合放在一行. 打量着王五… 很好… 王五, 你怎么样? 张三 李四 王五

这将产生一个流程图。:

链接

长方形

圆角长方形

菱形

  • 关于

    Mermaid

    语法,参考

    这儿

    ,



FLowchart流程图

我们依旧会支持flowchart的流程图:

Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
  • 关于

    Flowchart流程图

    语法,参考

    这儿

    .



导出与导入



导出

如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到

文章导出

,生成一个.md文件或者.html文件进行本地保存。



导入

如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,

继续你的创作。



  1. mermaid语法说明


    ↩︎

  2. 注脚的解释

    ↩︎



版权声明:本文为qq_38842418原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。