C++中strtok()函数的用法介绍

 更新时间:2013年09月10日 09:21:14   作者:  
以下是对C++中strtok()函数的使用方法进行了详细的分析介绍,需要的朋友可以过来参考下
函数原型:char *strtok(char *s, const char *delim);
Function:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
Description:strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时 则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回被分割出片段的指针。
复制代码 代码如下:

#include <iostream>   
#include <cstring>   
using namespace std;   
int main()   
{   
 char sentence[]="This is a sentence with 7 tokens";  
  
 cout<<"The string to be tokenized is:\n"
  <<sentence<<"\n\nThe tokens are:\n\n";
   
 char *tokenPtr=strtok(sentence," ");
   
 while(tokenPtr!=NULL) {   
  cout<<tokenPtr<<'\n';   
  tokenPtr=strtok(NULL," ");   
 }
   
 cout<<"After strtok, sentence = "<<sentence<<endl;   
 return 0;   
}   
/* 函数第一次调用需设置两个参数。第一次分割的结果,返回串中第一个 ',' 之前的字符串,也就是上面的程序第一次输出abc。   
 * 第二次调用该函数strtok(NULL,","),第一个参数设置为NULL。结果返回分割依据后面的字串,即第二次输出d。   
 * strtok是一个线程不安全的函数,因为它使用了静态分配的空间来存储被分割的字符串位置   
 * 线程安全的函数叫strtok_r,ca   
 * 运用strtok来判断ip或者mac的时候务必要先用其他的方法判断'.'或':'的个数,
 * 因为用strtok截断的话,比如:"192..168.0...8..."这个字符串,strtok只会截取四次,中间的...无论多少都会被当作一个key
 */

相关文章

  • Qt实现进程间通信

    Qt实现进程间通信

    这篇文章主要为大家详细介绍了Qt实现进程间通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C语言全面细致讲解文件操作

    C语言全面细致讲解文件操作

    这篇文章主要为大家详细介绍了C语言的文件操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-05-05
  • C++ OpenGL实现球形的绘制

    C++ OpenGL实现球形的绘制

    这篇文章主要主要为大家详细介绍了如何利用C++和OpenGL实现球形的绘制,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手尝试一下
    2022-07-07
  • C语言for语句用法详解

    C语言for语句用法详解

    今天,小编讲诉C语言中循环语句(for)的使用方法,作为示例,以一个简单的例子讲诉for语法。
    2015-11-11
  • 深入解读C++中的右值引用

    深入解读C++中的右值引用

    这里来带大家深入解读C++中的右值引用,右值引用是C++新标准中的重要特性,包括C++11中的引用折叠,首先还是先来看一下右值引用的概念:
    2016-05-05
  • C语言杨氏矩阵查找算法实例讲解

    C语言杨氏矩阵查找算法实例讲解

    杨氏矩阵是一个数字矩阵,矩阵的每一行从左到右一次递增,矩阵从上到下递增,在这样的矩阵中查找一个数字是否存在。时间复杂度小于O(N),有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-09-09
  • Linux下C语言实现C/S模式编程

    Linux下C语言实现C/S模式编程

    这篇文章主要为大家详细介绍了Linux下C语言实现C/S模式编程的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • C语言*与&在操作线性表的作用详解

    C语言*与&在操作线性表的作用详解

    本文主要介绍了C语言*与&在操作线性表的作用详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Linux下Select多路复用实现简易聊天室示例

    Linux下Select多路复用实现简易聊天室示例

    大家好,本篇文章主要讲的是Linux下Select多路复用实现简易聊天室示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • C++实现图书管理程序

    C++实现图书管理程序

    这篇文章主要为大家详细介绍了C++实现图书管理程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论