【IEEE_SV-21.3.3】数据格式化为字符串

21.3.3 Formatting data to a string

数据格式化为字符串
$swrite任务家族和\$sformat系统任务的语法见语法21-6。
(https://img2022.cnblogs.com/blog/2601779/202204/2601779-20220402190236782-706733908.png)]

$swrite任务家族是基于$fwrite任务家族的,它接受与它所基于的任务相同类型的参数,但有一个例外:$swrite的第一个参数应该是一个整数、非合并的字节数组或结果字符串被写入到字符串数据类型的变量,而不是一个指定要写入结果字符串的文件的变量。非合并数组的字符顺序是从左到右的。

系统任务$sformat与系统任务$swrite类似,但有一个主要区别。与输出系统任务的display和write家族系列不同,$sformat总是将它的第二个参数(而且只有第二个参数)解释为一个格式字符串。这个格式参数可以是一个字符串字面值,例如 “data is %d”,也可以是整型、非合并字节数组或内容被解释为格式化字符串的字符串数据类型的表达式。没有其他参数被解释为格式字符串。$sformat支持$display支持的所有格式说明符,如21.2.1.2所述。

$sformat的其余参数(如果有的话)将使用format_string中的任何格式说明符处理,直到所有这些格式说明符都用完。如果没有为格式说明符提供足够的参数或提供了太多参数,那么应用程序将发出警告并继续执行。如果可能,应用程序可以静态地确定格式说明符和参数数量不匹配,并发出一条编译时错误消息。

注意:如果format_string不是一个常量表达式,则可能无法在编译时确定它的值。

变量output_var使用字符串字面值赋值给变量规则,如11.10。

系统函数$sformatf的行为类似于$sformat,除了字符串结果作为$sformatf的函数结果值传回,而不是像$sformat那样放在第一个参数中。因此,可以在字符串值有效的地方使用$sformatf。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值