設置 | 登錄 | 註冊

目前共有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許可協議進行許可。