【strtok()】——分割字符串

对字符串进行分割:

  在使用前需要先初始化例如: char * p=strtok(Str," ");/*初始化以" "(以空格字符来分割字符串),即把" "都改成\0*/

  每次查找下一个字符串首地址只需要: p=strtok(NULL," ");/*查找下一个到不为分割符的字符为止*/

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <cstring>
 4 using namespace std;
 5 int main()
 6 {
 7     char Str[100086];
 8     while(gets(Str))
 9     {
10         char * p=strtok(Str," ");/*初始化以" "(空格来分割字符串),即把" "改成\0*/
11         while(p!=NULL)          /*有对原串进行修改*/
12         {
13             printf("%s#\n",p);
14             p=strtok(NULL," ");/*获取下一个字符串首地址*/
15         }
16     }
17     return 0;
18 }

时间: 2024-10-05 05:07:43

【strtok()】——分割字符串的相关文章

strtok()分割字符串函数

#include <iostream> #include <string.h> using namespace std; char *my_strtok(char *dist,const char *src) { static char *result; //此处使用静态变量保存dist, //为了满足库函数strtok(NULL," ")的实现. char map[32]; const char *p = src; memset(map,0,sizeof(ma

strtok函数的妙用,分割字符串

strtok分割字符串函数,很好的解决了字符分割的要求,不必遍历取关键字再区后面字符 这样字符串中查找关键值获取后面的东西就方便多了 #include <string.h> //加啊如头文件 char * strtok ( char * str, const char * delimiters ); 参数含义 str   ::    第一次操作时原始字符串,当strtok分割一次成功后 ,设置为  NULL 继续扫描下面的字符 知道为空 delimiters :: 标记字符 分割的中间值如 x

strtok():“字符串分割”实用函数

最近一直纠结于一个十分简单的问题:如何将一个字符串按标志分割开来?提出这个问题的初衷是自己在处理一个将命令行字符串转换为argc,argv格式的问题. 尝试了很多种方法,最后觉得利用strtok()函数来实现是一个比较好的方法.首先进行strtok()函数的介绍. char *strtok(string, control);  --- Tokenize string with delimiter in control. --- 通过分割符控制将字符串切片化. Purpose: strtok co

C语言分割字符串函数strtok

在编程过程中,有时需要对字符串进行分割.而有效使用这些字符串分隔函数将会给我们带来很多的便利. 下面我将在MSDN中学到的strtok函数做如下翻译. strtok :在一个字符串查找下一个符号 char *strtok( char *strToken, const char *strDelimit ); 返回值:返回指向在strToken字符串找到的下一个符号的指针,当在字符串找不到符号时,将返回NULL.每 次调用都通过用NULL字符替代在strToken字符串遇到的分隔符来修改strTok

用strtok函数分割字符串

用strtok函数分割字符串 需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数. //Body response 内容: <BODY><; PRE>//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1 用web_reg_save_param取出“8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1”这一段,然后用strtok函数切割出一个个数字,第四个数字就是要找的值 例如: extern char * st

分割字符串

#include <stdio.h> #include <string.h> /* 分割字符串 */ int main(void){ char s[100] = "123-456-789-abc-edf"; //strtok第一次调用的时候,第一个参数是字符串, //但第二次调用的时候,第一个参数是NULL const char *buf =strtok(s,"-"); while(buf){ printf("%s\n",

根据标识符分割字符串

常常遇到根据某个标识符分割字符串,并将分割的结果保存到字符串数组中.遇到过以下几种需求: 分隔符是一个字符集和,以便处理不同的输入格式,比如用tab或逗号分隔的输入 处理2个分隔符之间的内容为空的情况,2种需求,输出空字符串或者忽略掉 处理字符串末尾的回车符,2种需求,忽略或删除 c语言的strtok函数支持分割字符串,它在遇到分隔符之间的内容为空的时候会忽略掉空元素,往前推进返回下个非空的字符串,分割完成后返回NULL.这个函数貌似还有个多线程的版本. //分割字符串,如果遇到分割的结果是空字

C语言分割字符串

最近在做一道C语言题目的时候需要用到分割字符串,本来想自己手写的,也不会很麻烦,但想到其他语言都有分割字符串的库函数,C语言怎么会没有呢?所以,在网上搜了一搜,果然有这样的函数,还是很好用的,在此总结. 1 #include <stdio.h> 2 3 #include <string.h> 4 5 int main() 6 { 7 char in[10000]; 8 char delims[] = " "; 9 char *result; 10 11 fget

c/cpp中如何分割字符串,类似于split的功能

在python中,如果要求当前时间的unix时间戳,我特别喜欢这么用: import time timestr = time.time() timestamp = int(timestr.split('.')[0]) 这里的split函数,我非常喜欢,在java.c#和python中都有,很方便,不用担心踩地雷,但是C/CPP中,就没有了,这点比较遗憾. 如果要处理一个字符串型的"192.168.1.254",想把每个字段都分开,怎么办呢,C标准库中有函数strtok()的实现,可以一