我想从文件中的特定位置删除字符串。这是一个功能吗? 我可以通过函数删除文件的最后一行吗?
答案 0 :(得分:2)
没有这样的功能可以直接在文件上执行此操作。
您应该在内存中加载文件内容并在那里修改并写回文件。
答案 1 :(得分:1)
您有两个选项
答案 2 :(得分:1)
我不想查找所有的io函数,所以这里有关于如何实现ArsenMkrt答案选项2的伪c
char buffer[N]; // N >= 1
int str_start_pos = starting position of the string to remove
int str_end_pos = ending position of the string to remove
int file_size = the size of the file in bytes
int copy_to = str_start_pos
int copy_from = str_end_pos + 1
while(copy_from < file_size){
set_file_pos(file, copy_from)
int bytes_read = read(buffer, N, file)
copy_from += bytes_read
set_file_pos(file, copy_to)
write(buffer, file, bytes_read)
copy_to += bytes_read
}
truncate_file(file,file_size - (str_end_pos - str_start_pos + 1))
有效的东西