作者共發了1篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:不轉換▼
 
點擊 回復
73 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)
 

本帖信息

點擊數:73 回複數:0
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2025-3-26 19:34
 
©2010-2025 Purasbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。