+ -
当前位置:首页 → 问答吧 → 输入字符串,取出其中的数字,用sscanf()怎么完成?

输入字符串,取出其中的数字,用sscanf()怎么完成?

时间:2011-12-19

来源:互联网

或者是sprintf(),不知道该用哪个

作者: sxmx1111   发布时间: 2011-12-19

再将其转换为int型

作者: sxmx1111   发布时间: 2011-12-19

char *pStr="2,9,78";
int a,b,c;
int Ret=sscanf(pStr,"%d,%d,%d",&a,&b,&c);//Ret是格式化字段成功的字段个数,此例若成功返回3

作者: sunyongliang118   发布时间: 2011-12-19

比如输入ch28c9jrh38h2一串字符怎么办

作者: sxmx1111   发布时间: 2011-12-19

这个不能简单的用sscanf()解决,因为数字串是不连续的,而且也没有标志性的分隔符重复出现。
这就要求你只能做一个循环来拆解字符串并作判断是否为数字,如果遇到两个数字还要判断这两个字符之间是否还有其他字符元素。

作者: sunyongliang118   发布时间: 2011-12-19

我要下班了,改天再给你写这样的程序,你自己思考一下,很简单的。

作者: sunyongliang118   发布时间: 2011-12-19

若无固定格式只能逐位判断。

作者: xuddk727   发布时间: 2011-12-19