码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-01-10 23:49:05      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:image   close   数组   signed   pen   fail   存在   main   failed   

#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] = '\0';

    fclose(image);

    FILE *f2 = fopen("big_face.c", "w");
    fprintf(f2, "unsigned char big_face[] = {\n");
    
    for (int i = 0; i < nFileLen + 1; i++)
    {
        fprintf(f2, "0x%x", image_dat[i]);
    }
    
    fprintf(f2, "\n};\n");
    fclose(f2);

    return 0;
}

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

标签:image   close   数组   signed   pen   fail   存在   main   failed   

原文地址:https://www.cnblogs.com/cristiano-duan/p/12178483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!