• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

21.3.3 Formatting data to a string

数据格式化为字符串
swrite任务族和sformat系统任务的语法见语法21-6。

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

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

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

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

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

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

posted on 2022-04-02 19:39  SOC验证工程师  阅读(107)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3