将文件转换为数组保存在内存中

Posted cristiano-duan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将文件转换为数组保存在内存中相关的知识,希望对你有一定的参考价值。

#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, "
};
");
    fclose(f2);

    return 0;
}

以上是关于将文件转换为数组保存在内存中的主要内容,如果未能解决你的问题,请参考以下文章

将 char 数组转换为 uint16_t 数组 C/C++

使用JDK自带的工具将中文转换为ascii码

Eclipse中代码格式化配置

如何将 BVH 节点对象转换为简单数组?

在 php 中将 XML 文档转换为数组时,有没有办法将其转换回来并将其保存为属性为元素的 XML 文件?

是否可以将 HTML 文件转换为 QR 码?