zoukankan      html  css  js  c++  java
  • 将文件转化为源代码

    有时候当外部文件无法传入可执行程序运行环境时,此时可以将外部文件内容保存在一个char数组中,以源文件的形式和可执行程序源代码一起编译。

    需要读取外部文件的代码只需包含该源文件即可,相当于是直接将外部文件编译进了目标文件。

    1. .C源文件中定义一个char数组,即数组原型
    2. 将文件按字节读入内存,并写到目标源文件中数组的初始化大括号中{}
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main() 
    {
        FILE *image = fopen("big_face.yuv", "r");
        if(NULL == image)
        {
            printf("open file failed!");
            return 0;
        }
        fseek(image, 0, SEEK_END);
        int nFileLen = ftell(image);
        rewind(image);
        unsigned char* image_dat = (unsigned char*)malloc(nFileLen+1);
        if(NULL == image_dat)
        {
            printf("malloc failed!");
            fclose(image);
            return 0;
        }
    
        fread(image_dat, sizeof(unsigned char), nFileLen, image);
        image_dat[nFileLen] = '';
    
        fclose(image);
    
        FILE *f2 = fopen("big_face.c", "w");
        fprintf(f2, "unsigned char big_face[] = {
    ");
        
        for (int i = 0; i < nFileLen + 1; i++)
        {
            fprintf(f2, "0x%x", image_dat[i]);
        }
        
        fprintf(f2, "
    };
    ");
        free(image_dat);
        fclose(f2);
    
        return 0;
    }
    
  • 相关阅读:
    P站画师 GTZ taejune 精选4k插画壁纸
    点、向量与坐标系
    一些几何
    画直线算法 Line drawing algorithm
    DX11 学习大纲
    插值 Interpolation
    The History of Computer Graphics
    vue中的请求拦截响应
    Event loop
    小程序使用wx.navigateTo()跳转失败
  • 原文地址:https://www.cnblogs.com/cristiano-duan/p/12178483.html
Copyright © 2011-2022 走看看