Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MIPS:是否可以覆盖文件中的某些字?_Mips - Fatal编程技术网

MIPS:是否可以覆盖文件中的某些字?

MIPS:是否可以覆盖文件中的某些字?,mips,Mips,是否可以使用MIPS覆盖文件? 我有一个文件,在某些情况下(即用户决定更新其个人数据或完全删除),我需要删除/覆盖我有的文本文件中的某些单词或行。 我试过这个东西: 我已经知道如何找到我想要替换的单词,并用一个存储字节在缓冲区中写入“新”单词。 那么我应该把它保存在文件中。这就是我的问题开始的地方,因为使用标志1(在syscall13上)会覆盖整个文件,而标志9不会应用任何更改。这是我的密码。我做错了什么 loop: la $t6, empty_space sb $t6, buffer(

是否可以使用MIPS覆盖文件? 我有一个文件,在某些情况下(即用户决定更新其个人数据或完全删除),我需要删除/覆盖我有的文本文件中的某些单词或行。 我试过这个东西: 我已经知道如何找到我想要替换的单词,并用一个存储字节在缓冲区中写入“新”单词。 那么我应该把它保存在文件中。这就是我的问题开始的地方,因为使用标志1(在syscall13上)会覆盖整个文件,而标志9不会应用任何更改。这是我的密码。我做错了什么

loop:    
la $t6, empty_space
sb $t6, buffer($s7)
beq $s7, $t5, save_on_file
subi $s7, $s7, 1
j loop

save_on_file:

#open file
li $v0, 13
la $a0, file_out
li $a1, 1
li $a2, 0
syscall
move $s6, $v0

#write on file
li $v0, 15
move $a0, $s6
la $a1, buffer
move $a2, $s7
syscall

#close
li $v0, 16
move $a0, $s6
syscall

j menu

你在用火星模拟器吗?。MARS中的
syscall
引用明确指出,只能以只读/创建/附加模式打开文件。标志9表示追加,在这种情况下,您可以向文件中添加数据,但不能修改文件内容。如果要修改,必须将整个文件读入缓冲区,修改缓冲区并用新内容重新创建文件。@gusbro是的,我正在使用mars。所以我应该通过存储字节指令修改缓冲区,然后用标志-1将其写入文件?是的,这就是我要做的。@gusbro非常感谢,你再次帮助了我。我来试试