目前共有1篇帖子。 字体大小:较小 - 100% (默认)▼  内容转换:不转换▼
 
点击 回复
122 0
文件内容转C语言数组
一派掌门 二十级
1楼 发表于:2025-3-26 19:34
#include <stdio.h>

#define OUTPUT_NAME "xp_start_wav"

void main()
{
    int i, ret, start = 1;
    unsigned char buffer[24];
    FILE *fp, *fp2;

    fopen_s(&fp, "C:\\WINDOWS\\Media\\Windows XP 启动.wav", "rb");
    if (fp != NULL)
    {
        fseek(fp, 0, SEEK_END);
        ret = ftell(fp);
        fseek(fp, 0, SEEK_SET);

        fopen_s(&fp2, OUTPUT_NAME ".c", "w");
        if (fp2 != NULL)
        {
            fprintf(fp2, "__attribute__((aligned)) const unsigned char " OUTPUT_NAME "[%d] = {", ret);
            while (ret = fread(buffer, 1, sizeof(buffer), fp))
            {
                for (i = 0; i < ret; i++)
                {
                    if (i == 0)
                    {
                        if (start)
                            start = 0;
                        else
                            fprintf(fp2, ", ");
                        fprintf(fp2, "\n  ");
                    }
                    else
                        fprintf(fp2, ", ");
                    fprintf(fp2, "0x%02x", buffer[i]);
                }
            }
            fprintf(fp2, "\n};\n");
            fclose(fp2);
        }
    fclose(fp);
    }
    else
        printf("failed\n");
}

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:122 回复数:0
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2025-3-26 19:34
 
©2010-2025 Purasbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。