卢骏 · 2020年07月16日

svlib(3) – 文件操作

一、文件结构体

对于文件,svlib提供了一个结构体sys_fileStat_s,来管理文件的属性。

image.png

image.png

二、文件操作方法

1. sys_fileStat

函数原型:
image.png

传入两个参数:

path:文件路径

asLink:是否是链接文件

函数,返回sys_fileStat_s的结构体,这个结构体,就包含了文件的所有信息。

函数,内部实质是调用了svlib_dpi_imported_fileStat这个dpi函数。
1.jpg

而svlib_dpi_imported_fileStat这个c函数,其实是调用linux提供的stat,或者lstat方法获取文件的属性信息。
2.png

2. file_mode

image.png

path:文件路径

asLink:是否是链接文件

函数,返回sys_fileMode_s的结构体,这个结构体,就包含了文件类型以及访问权限信息。

调用sys_filStat获取文件的信息,然后将信息中的mode提取返回。

3.jpg

至于file_mTime,file_aTime,file_cTime,file_size这几个方法,和file_mode方法中实现一致。

3. file_accessible

判断文件是否可以访问。

函数原型:
image.png

path:文件路径

mode:权限

如以下判断,文件是否有可读权限

image.png

这个内部实现,其实是调用svlib_dpi_imported_access方法。

4.png

  其实是调用linux的内置access函数,获取是否能够访问。

5.jpg
三、例子

有了svlib提供的结构体和方法,就可以对文件进行操作了。

代码如下:
6.png

     执行结果:

7.jpg

     和文件信息一致。

8.jpg

#### 更多相关阅读
svlib(2) – 目录操作
svlib(1)-介绍
使用IMC将覆盖率转化为网页格式

原文首发于骏的世界博客
作者:卢骏
更多IC设计相关的文章请关注IC设计极术专栏,每日更新。

推荐阅读
关注数
20176
内容数
1307
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息