首页 > 编程知识 正文

c语言如何将字符串转为数字,c语言分割字符串的方法

时间:2023-05-06 21:27:43 阅读:37045 作者:85

一、strtok (用函数分割

函数头文件#iincludestring.h

函数原型: char*strtok(chars[],const char *delim ); s[]是原始字符串,delim是分隔符

返回值:字符串被分割的起始地址。 “拆分”:将拆分字符替换为“”

特性:

1 ) strtok分割字符串直接在原字符串上操作,参考1为必填项,可写(char *str=“ www.baidu.com”不行! )

2 )首次分割,参考1传达要分割的原始字符串。 第一次分割时,参1传NULL。

使用void test01 ()//1.strtok ) )分割charstr () )='hello,world hello ); char*str1=strtok(str,','; printf(%s(n )、str1); wile(str1!=NULL ) {str1=strtok(null,','; printf(%s(n )、str1); (二、用正则表达式实现。

函数原型: intsscanf(char*str,char * format [,argument,…] );

scanf (与scanf不同,scanf输入由键盘输入,sscanf ) )是在用户定义的缓冲区中检索的固定格式数据。

返回值:读取成功的参数数。 失败为-1

使用正则表达式拆分电子邮件地址和类型:

使用void test02 ()//2.sscanf ) )实现固定格式的读取。 //函数原型: intsscanf(char*str,char * format [ (,argument,) ); //scanf ) )不同,scanf输入是用键盘输入的,而sscanf ) )是在用户定义的缓冲区中获取的固定格式数据。 char str[]='894529306@qq.com '; int b; char c[10]; intn=sscanf(str,' %d@%[a-z],b,c ); printf (用户名%d(n ),b ); printf (邮箱类型%sn )、c ); printf (返回值%dn ),n ); //返回值是成功读取的参数数量,失败是-1}希望大家告诉我,一起进步!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。