有没有一种将pdf二进制数据写入文件的好方法

问题描述 投票:0回答:1

我有 pdf 文件的字节,我将它们放入我的 c 文件中。

代码然后创建一个sample.pdf文件并使用wb打开它以将这些字节写入sample.pdf文件

它创建了文件,但打开时显示文件已损坏数据

下面我附上了我的整个源代码:-

#include <stdio.h>

int main(){

    char docDat[] = "0x25,0x50,0x44,0x46,0x2D,0x31,0x2E,0x36,0x0A,0x25,0xC3,0xA4,0xC3,0xBC,0xC3,0xB6,0xC3,0x9F,0x0A,0x32,0x20,0x30,0x20,0x6F,0x62,0x6A,0x0A,0x3C,0x3C,0x2F,0x4C,0x65,0x6E,0x67,0x74,0x68,0x20,0x33,0x20,0x30,0x20,0x52,0x2F,0x46,0x69,0x6C,0x74,0x65,0x72,0x2F,0x46,0x6C,0x61,0x74,0x65,0x44,0x65 ..... Bytes of pdf";

    FILE *fp;
    fp = fopen("sample.pdf", "wb");
    
    fprintf(fp, docDat);
    fclose(fp);


    return 0;
}

我期望当程序执行时,它会创建一个名为sample.pdf的文件并将字节写入其中。

c file-io
1个回答
0
投票
byte docDat[] = { 0x25, 0x50, ...  };
...
size_t actually_written = fwrite(docDat, 1, sizeof(docDat), fd);

参见 https://en.cppreference.com/w/c/io/fwrite

通常使用

byte

 来代替 
unsigned char
。前 4 个字节拼写为“%PDF”。

© www.soinside.com 2019 - 2024. All rights reserved.