打包资源文件到程序

#include <stdio.h>
#include <stdlib.h>

void FileToArray(const char *srcfile, const char *dstfile)
{
    FILE *file = fopen(srcfile, "rb");
    if (file)
    {
        FILE *save = fopen(dstfile, "w");
        fseek(file, 0, SEEK_END);
        unsigned int fileLen = ftell(file);

        fprintf(save, "static unsigned int gAssetsLen=%ld;\n", fileLen);
        fprintf(save, "static unsigned int gAssetsData[]=\n");
        fprintf(save, "{\n");

        fseek(file, 0, SEEK_SET);
        unsigned int arrLen = (fileLen + 3) / 4;
        unsigned int *dataArr = new unsigned int[arrLen];
        fread(dataArr, 1, fileLen, file);
        for (int i = 0; i < arrLen; ++i)
        {
            fprintf(save, "0x%08x", dataArr[i]);
            //fprintf(save, "0x%x", dataArr[i]);
            if (i != arrLen - 1){ fprintf(save, ","); }
            if (9 == i % 10){ fprintf(save, "\n"); }
        }
        fprintf(save, "};\n");
        fclose(save);
    }
    fclose(file);
}
void main()
{
    FileToArray("assets.zip","assets.h");
}

 

转载于:https://www.cnblogs.com/liusijian/p/4658610.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值