我有一个名为trace.dat
的文件包含4个字节的整数。任何人都可以告诉我如何打开和读取文件,并将每个整数存储在一个名为arr
的数组中(在MIPS中)?谢谢!
到目前为止,我有这个:
li $v0, 13
la $a0, file #file contains the file name
li $a1, 0
li $a2, 0
syscall
add $s0, $v0, $0
答案 0 :(得分:2)
您所拥有的代码只是打开文件,而不是读取它。为了实际读取你打开到缓冲区中的文件的内容,你需要使用系统调用号14,如下所示:
li $v0, 14
move $a0, $s0
la $a1, arr
li $a2, 32
syscall
bltz $v0, error
此代码假定$s0
包含已打开文件的文件描述符,由于add $s0, $v0, $0
,该文件描述符已存在。它还假设arr
的大小为32个字节。
如果您的文件大于32个字节,您可以编写一个循环,该循环一直运行,直到系统调用14返回0或小于缓冲区大小的值。然后,您可以处理从循环内的文件读取的数据。