在不使用c中的任何第三方库的情况下创建pdf文件?

-2 c pdf

我的目标是创建一个文件并在其中保存一些文本.但问题是,文件应该以pdf格式创建,而不使用任何库.我写了以下代码:

#include <stdio.h>

int main(void) {
    FILE *fp; 
    char ch; 
    fp = fopen("file.pdf", "w"); 
    fprintf(fp, "%PDF-1.3"); //to initiate data storage in pdf file 
    printf("\nEnter data to be stored in to the file:"); 
    while((ch = getchar()) != EOF) 
        putc(ch,fp); 
    fclose(fp); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在我的文件是以pdf格式创建的,但是当我通过双击它打开它时,它没有打开并给出如下消息:"打开文档时出错.此文件已损坏且无法修复."

请提供任何解决此问题的建议.

Dev*_*lar 8

命名文件"file.pdf"并写入几个头字节不会使其成为PDF文件.文件格式由其内容决定,而不是由其名称(或某些工具file用来"猜测"格式)的字节数决定.

如果要"不使用任何库"来编写PDF文件,则需要PDF文件格式的描述,然后根据该规范生成文件.

强烈反对这种做法.第三方图书馆是有原因的.

  • @ajay:'男人5魔术师'.这就是`file`使用的查找.如果文件看起来足够*像*给定的格式,`file`将标识为*是*那种格式.任何以"\ x7fELF\x02\x01"开头的文件都将被识别为"ELF 64位LSB",即使其余文件是纯文本也是如此.`file`应该做什么,*执行*文件以检查它是否真的是可执行文件? (2认同)