一个简单的例子,显示了如何在代码中使用多个分隔符和潜在的改进。查看嵌入式注释以获得解释

被警告的strtok()(从手动)一般缺点:

这些功能修改他们的第一个参数。

这些函数不能用于常量字符串。

定界字节的标识丢失。

strtok()函数在解析时使用了一个静态缓冲区,所以它不是线程 安全。如果这对您很重要,请使用strtok_r()。

#include

#include

int main(void)

{

char input[1024];

char *string[256]; // 1) 3 is dangerously small,256 can hold a while;-)

// You may want to dynamically allocate the pointers

// in a general, robust case.

char delimit[]=" \t\r\n\v\f"; // 2) POSIX whitespace characters

int i = 0, j = 0;

if(fgets(input, sizeof input, stdin)) // 3) fgets() returns NULL on error.

// 4) Better practice to use sizeof

// input rather hard-coding size

{

string[i]=strtok(input,delimit); // 5) Make use of i to be explicit

while(string[i]!=NULL)

{

printf("string [%d]=%s\n",i,string[i]);

i++;

string[i]=strtok(NULL,delimit);

}

for (j=0;j

printf("%s", string[i]);

}

return 0;

}

c语言strtok2个字符连在一起,在C中使用strtok使用多个分隔符的分割字符串相关推荐

  1. 每天一道LeetCode-----给定字符串s和字符数组words,在s中找到words出现的位置,words内部字符串顺序无要求

    Substring with Concatenation of All Words 原题链接Substring with Concatenation of All Words 题目意思是给定字符串s和 ...

  2. R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂、split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串、str_split_fixed

    R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂.split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串.str_split_fixed ...

  3. c语言ctype中替换查找字符,c – std :: ctype是否总是按“C”语言环境对字符进行分类?...

    该标准需要默认构造的std :: ctype< char>通过§22.4.1.3.3匹配最小"C"语言环境[facet.ctype.char.statics] / 1 ...

  4. Swift3.0语言教程删除字符与处理字符编码

    Swift3.0语言教程删除字符与处理字符编码 Swift3.0语言教程删除字符 Swift3.0语言教程删除字符与处理字符编码,在字符串中,如果开发者有不需要使用的字符,就可以将这些字符删除.在NS ...

  5. Swift3.0语言教程查找字符集和子字符串

    Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...

  6. Swift3.0语言教程获取字符

    Swift3.0语言教程获取字符 Swift3.0语言教程获取字符,在字符串中获取某一下标位置(下标索引)处的字符是很常见的功能,在NSString中使用character(at:)方法实现,其语法形 ...

  7. C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中)

    C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中) 需要引入C 标准库 - <stdio.h> 文章目录 描述 声明 参数 返回值 实例 测试(确实只能读n-1个 ...

  8. C语言数组、字符与字符串笔记

    数组/字符/字符串 数组 一维数组的定义 一维数组的初始化 字符串 字符数组 字符数组的初始化 1.使用字符常量的初始化列表对数组初始化 2.使用字符串常量直接对数组初始化 字符指针 指针 字符指针与 ...

  9. c语言字符串定界符,关于c ++:按字符分割字符串

    我知道这是一个非常简单的问题,但我只想一次为自己解决 我只想使用字符作为分割定界符将字符串分割成数组. (很像C#著名的.Split()函数.我当然可以应用蛮力方法,但是我想知道是否有什么更好的方法了 ...

最新文章

  1. 下面算法中,不属于公开密钥加密算法的是()。D
  2. Android webView 缓存 Cache + HTML5离线功能 解决
  3. 自定义标签 (choose)
  4. 简述container与container-fluid的区别
  5. linux查看etl进程,常见ETL工具
  6. 【Kettle】第一篇,Pan 的使用
  7. python及环境安装_一、什么是python及开发环境安装
  8. arraylist扩容是创建新数组吗 java_手撕ArrayList底层,透彻分析源码
  9. 利用.jou文件将建筑shp文件导入Gambit方法
  10. 速看,PMP备考通关宝典来袭
  11. AlexNet、VGG16、ResNet网络结构图
  12. Liux 五种I/O模型概念梳理,及对比
  13. C++ 单词转换例子
  14. 2019年寒假集训-二分专题
  15. 第一节计算机课开场白,第一节课有趣的开场白
  16. 机器学习 数学基础 学习笔记 (1) 导数
  17. S7-1200和S7-1500计数器操作
  18. Python+matplotlib实现填充螺旋实例
  19. 在Maptlotlib中使用Helvetica字体
  20. 电脑报2013年第2期

热门文章

  1. Redis在游戏服务器的使用,看看战力排行榜的实现
  2. 基于华为的IP Sec
  3. springBoot中jetty tomcat undertow对比与undertow线程池配置
  4. 北京最新小学名校排名,绝对经典!
  5. simulink simscape模型报错解决:Cannot reload workspace from non-existing data source file
  6. Elsevier和ScienceDirect
  7. [英语语法]词法之动词:情态动词
  8. Bootstrap实战---Dplayer播放器(影片)
  9. 综述—多智能体系统深度强化学习:挑战、解决方案和应用的回顾
  10. 转载 一篇职场裸文,虚伪被撕得一丝不挂