C语言实现:生成一个全是0x0的二进制文件

如何生成一个全是0x0的二进制文件,如生成一个1M的文件,其数据全部是0x0.

c语言代码:
实现原理:新建打开一个文件,移动文件指针到0x100000(1M)处,然后随便写个字符。
运行程序,生成后,再去掉结尾处多余的那个字符。
#include

void generate_zero(char *name)
{
    FILE *fp;

    fp = fopen(name,"wb+");
    //fputc('',fp);
    fseek(fp, 0x100000, SEEK_SET);
    fputc(' ',fp);
    //fprintf(fp, "%d%d%d%d%d",0,0,0,0,0);
    fclose(fp);

    return;
}

int main()
{
    generate_zero("1.txt");
    return 0;
}

gcc main.c -o x
./x 生成1.txt
head 1.txt -c 1048576 > 2.txt

你可能感兴趣的:(小工具制作)