文章目录
文件分为两种类型:
- 文本格式(txt):ascii码
- 二进制格式(bin):16进制
缩写的含义
w:写
r:读
a:追加
b:二进制
+:创建
没写a则默认是非追加
r和rb没区别
打开txt文件。%s写入(00替换成20,0a替换成0d0a)
打开bin文件。%s写入(00替换成20,0a不会替换成0d0a)
打开bin文件。%u写入(4字节位宽,00不会替换成20,0a不会替换成0d0a)
打开bin文件。%c写入(00不会替换成20,0a不会替换成0d0a)
读:txt文件内容是:AA(无0x前缀)
可以使用
$fscanf(fd1,"%h",rd_byte);
也可以使用
$readmemh("./FILE/1.txt",mem);//FE放在mem[0]
读:txt文件内容是:0xAA(有0x前缀)
可以使用
$ fscanf(fd1,"0x%h",rd_byte);
读:bin文件内容是:AA
state =$fread(rd_byte,fd1);
写入txt文件内容是:AA(无0x前缀)
$fwrite(fd1,"%h",8'h32);
写入bin文件内容是:AA(无0x前缀)
$fdisplay(fd1,"%c",8'h32);
"wb"和"w"的区别
fd1 = $fopen("./FILE/1.txt","wb+") ;//不会自动将0x0a替换为0x0d0a
fd1 = $fopen("./FILE/1.txt","w+") ;//会自动将0x0a替换为0x0d0a
"%s"和"c"的区别
"s"会将00用20替代,ascii的0x00=NULL,用0x20空格代替
"c"不会有上面现象