从字符串分割说起
来源:互联网 发布:网络教育学位有用吗 编辑:程序博客网 时间:2024/06/06 08:33
先简单那看一个例子:
#include char * __cdecl strtok(char *s1, const char*delimit) { static char*lastToken = NULL; //注意这里是static哦! char*tmp; if ( s1 ==NULL ) { s1 = lastToken; if (s1 == NULL) return NULL; } else{ s1 +=strspn(s1, delimit); } tmp = strpbrk(s1,delimit); if (tmp){ *tmp = '\0'; lastToken = tmp + 1; } else{ lastToken = NULL; } returns1; }
char *str1="please tryagain,sky2098!"; char *str2="Hello,I am sky2098,I likewriting!"; char *strtemp; strtemp=strpbrk(str1,str2); //搜索进行匹配 printf("Result is: %s",strtemp); return 0;
9 #include <</span>stdio.h>
10 #include <</span>string.h>
11
12 int main(){
13 char str[] = "Hello,World";
14 const char *del = ",";
15 char *s = strtok(str,del);
16
17 while(s != NULL){
18 printf( "%s\n",s);
19 s = strtok(NULL,del);
20 }
21
22 return 0;
23 }
10
11
12
14
15
17
19
22
23
结果:
Hello
World
再来看看strtok的实现过程:
好,如果对上面strtok中的函数strpbrk不是很了解,好,我再贴他们的实例:
#include<string.h>
#include<stdio.h>
intmain()
{
}
结果:lease tryagain,sky2098!
strpbrk函数功能:比较字符串str1和str2中是否有相同的字符,如果有,则返回该字符在str1中的位置的指针。
这下清楚了吧
还有个函数
strspn(比较一下和strcspn的区别哦)
#include <string.h>
#include <stdio.h>
void main()
{
char *str="Linux was first developed for 386/486-basedpcs.";
printf("%d\n",strcspn(str," "));
printf("%d\n",strcspn(str,"/-"));
printf("%d\n",strcspn(str,"1234567890"));
printf("%d\n",strspn(str,"Li xun"));
printf("%d\n",strspn(str,"/-"));
printf("%d\n",strspn(str,"1234567890"));
}
结果:
5
33
30
6
0
0
strcspn(const char *s1,const char *s2);
顺序在字符串s1中搜寻与s2中字符的第一个相同字符,返回这个字符在s1中第一次出现的位置
strspn (const char *s,const char * accept);
返回 返回字符串s开头连续包含字符串accept内的字符数目。好好理解一下吧^_^
0 0
- 从字符串分割说起
- 从模拟字符串型的枚举说起 [C#]
- 从模拟字符串型的枚举说起 [C#]
- 从第一个汉字开始分割字符串
- 从第一个汉字开始分割字符串
- 从Object_oriented 说起
- 从AFX_MANAGE_STATE(AfxGetStaticModuleState())说起
- 从“芙蓉姐姐”现象说起
- 不知从何说起
- 从jira说起
- 从AFX_MANAGE_STATE(GetStaticModuleState())说起
- 从辞职说起
- 从"爱因斯坦圆"说起
- 从PDCA说起
- 从被点到说起......
- 从大乘“六度法”说起
- 从AFX_MANAGE_STATE(AfxGetStaticModuleState())说起
- 从Proxy.newProxyInstance说起
- 尼古拉·特斯拉(Nikola Tesla 1856…
- vs2010编译器和vs2008编译器生成dl…
- SVM的使用
- 判断点是否在多边形内的算法和C语…
- 女人的弱点是信任男人,男人的弱点…
- 从字符串分割说起
- 我的博客今天1岁210天了,我领取了…
- NDK编译的so文件armeabi和armeabi-…
- 直接插入排序的三种实现
- 希尔排序的实现
- 将指定目录指定类型文件以指定分隔符组合文件名不换行输出到指定文件命令
- C函数之memcpy()函数用法
- C函数之memset()函数用法
- 约瑟夫环数学解法和数组解法