我有 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的文件并将字节写入其中。
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”。