设置 | 登录 | 注册

作者共发了1篇帖子。

文件內容轉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");
}

内容转换:

回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
©2010-2025 Purasbar Ver3.0 [手机版] [桌面版]
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。