#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
int size;
FILE *fp;
fp=fopen("prova" , "rb");
if(fp == NULL){
printf("%s",strerror(2));
return EXIT_FAILURE;
}
/* Controllo lunghezza file */
fseek(fp, 0, SEEK_END);
size=ftell(fp);
fseek(fp, 0, SEEK_SET);
/* --- */
for(i=1; i<=size; i++){
qualcosa
}
fclose(fp);
return EXIT_SUCCESS;
}
我想&#34;安全删除&#34;用0x00覆盖它的文件...就像/ dev / zero那样做! 我该怎么做? 我打开了文件,我检查了他的长度......现在呢?
答案 0 :(得分:2)
首先,你只是打开阅读:
fp=fopen("prova" , "rb");
你需要:
fp=fopen("prova" , "w+");
之后,您只需要将零写入文件,直到您使用fputc()
或fwrite()
确定已经确定的长度
虽然根据操作系统确实可能无法解决您的实际问题。最终可能会将文件写入磁盘上的其他区域(从而保持原始数据不变)