- char * strtok(char* str, char* delim)
- str 不能是const类型,因为此方法 会导致 原字符串的修改
- delim 中 每一个字符 都为 分隔符,而不支持 " 分割串 "的概念
- 分割本质:匹配到后,将char* 位置字符替换为 \0
- 值得注意:
- 在第一次调用时,strtok()必须给予参数 s 字符串
- 往后的调用则是将参数s 设置为NULL,每次调用成功则 返回 指向被分割出片段的指针
- 调用失败,则返回NULL
- 案例:分割 qq邮箱 号码
1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 char arr[] = "[email protected]"; 6 char * p = strtok(arr, "@"); 7 //delim中每一个字符都是分隔符 8 while (NULL != p) { 9 printf("%s\t",p); 10 p = strtok(NULL, "."); 11 } 12 13 system("pause"); 14 }
- 说明:
- 第 8 行:判断是否分割到 或 判断字符串是否结束
- 第 10 行:第2,3,,次调用时第一个参数为NULL,从之前切割剩下的字符串中查找 delim
- vs 2015 下的调试
字符串转数字的 函数
- atoi(char*) char* -> int
- atof(char*) char* -> double
- atol(char*) char* -> long
- 转换条件:
- 跳过前面的空格,从 正负号读取
- 数据前面不能有字符串,后面可以有 如 ” -123abc“,“ -1” 可以转化;“abc 123” 不可以
- 头文件 <string.h>
原文地址:https://www.cnblogs.com/guoyujiang/p/12299880.html
时间: 2024-10-17 06:56:02