Направете файл с дупка
Инициализирайте променливите. Създайте файл, като използвате за името му първият аргумент, предаден на програмата. Ако не се отвори, изведете грешка и излезте. Запишете името на файла във файла. Прескочете 16777216 байта напред във файла. Запишете отново името на файла във файла. Затворете файла.
makesparse.c
#include <stdio.h>
#include <string.h>
#define BIG_SIZE 0x1000000
int main(int argc, char * argv[])
{
FILE * f;
f = fopen(argv[1], "w");
if (f == NULL)
{
printf("ERROR creating file: %s", argv[1]);
return 1;
}
fwrite(argv[1], 1, strlen(argv[1]), f);
fseek(f, BIG_SIZE, SEEK_CUR);
fwrite(argv[1], 1, strlen(argv[1]), f);
fclose(f);
}
Компилирайте и стартирайте програмата, след което проверете даетото дисково пространство от файла sparce.txt:
gcc makesparse.c -o makesparse
./makesparse sparce.txt
du sparce.txt
Last updated
Was this helpful?