织梦模板下载_织梦企业模板_网站源码下载 - AB模板网

AB模板网

从一个字符串中读进与指定格式相符的数据--sscanf

2021-06-26 12:28分类:php基础 阅读:

  sscanf概念和使用方法及剖析

“若是

scanf;

输入应使用如下形式

a=12,b=24,c=36
使用这种形式是为了用户输入数据时同时给用户添加非必须的麻烦,使含义混乱,容易发生输入数据的错误。”

对用户友好的、具备好易用性的程序代码其实应该如此写

printf;

scanf;

printf ;

scanf;

printf ;

scanf;

通过调用函数printf给用户以提示,而不是用“scanf;”如此的代码来折磨用户

sscanf 函数依据指定的格式分析来自一个字符串的输入。

假如只向该函数传递两个参数,数据将以数组的形式返回。不然,假如传递了额外的参数,那样被分析的数据会存储在这部分参数中。假如区别符的数目大于包含它们的变量的数目,则会发生错误。不过,假如区别符少于变量,则额外的变量包含 null。

语法
sscanf参数 描述
string 必需。规定要读取的字符串。
format 必需。规定要用的格式。
arg1 可选。存储数据的第一个变量。
arg2 可选。存储数据的第二个变量。
arg++ 可选。存储数据的3、四个变量。依此类推。

说明
参数 format 是转换的格式,以百分比符号 开始到转换字符结束。下面的可能的 format 值:

%% - 返回百分比符号
%b - 二进制数
%c - 根据 ascii 值的字符
%d - 带符号十进制数
%e - 可续计数法(譬如 1.5e+3)
%u - 无符号十进制数
%f - 浮点数
%f - 浮点数
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%x - 十六进制数(大写字母)
例子
php课程
$string = "age:30 weight:60kg";
sscanf;
// show types and values
var_dump;
?>输出:

int
int

scanf;

输入应使用如下形式

a=12,b=24,c=36
使用这种形式是为了用户输入数据时添加必要的信息,使含义了解,不容易发生输入数据的错误。

——谭浩强,《c语言程序设计》(第2版),清华大学出版社,2008年11月,p71~72

这段文字非常唬人,貌似讲的头头是道,其实愚蠢透顶。

程序是用来为用户解决问题的,而不是用来给用户添麻烦的。

任何一个合格的技术员都不会写出

scanf;
如此的代码。理由是,需要用户输入的“a=”、“b=”、“c=”与两个“,”都毫无意义。把这句蹩脚的代码稍微更改一下,就不难发现其愚蠢。它基本上等价于

scanf;

scanf;

scanf;

scanf;

scanf;

scanf;

scanf;

scanf;

其中的scanf;、scanf;、scanf;和scanf;对于程序来讲根本没任何信息价值,增加这部分代码的唯一成效就是给用户增加了很多非必须的麻烦。万一用户输入错误,还可以致使程序“挂掉”或出错。

因此引文不但愚蠢,而且真的是在教唆学习者自虐——技术员一直程序的第一个用户。

那段引文应该修改为

郑重声明:文章来源于网络,仅作为参考,如果网站中图片和文字侵犯了您的版权,请联系我们处理!

上一篇:php处理过滤空白的函数

下一篇:正则表达式入门

相关推荐


关注我们

    织梦模板下载_织梦企业模板_网站源码下载 - AB模板网
返回顶部