c - 如何使用 http post 传输 tar.gz 文件?

标签 c http post tar fread

我想在 C 中使用 HTTP post 发送一个 tar.gz 文件。 然而,当使用fread()读取tar.gz文件时,它只读取了3个字节。

char *pszfile = null;

FILE *fp = fopen("c:\\test.tar.gz", "rb");

int nSize = 0;

if(fpFile)

{

    fseek(fp, 0, SEEK_END);

    nSize = ftell(fp);

    fseek(fp, 0, SEEK_SET);

    pszfile = (char*)malloc(nSize+1);

    memset(pszfile, 0x00, nSize+1);

    int nReadSize = fread(pszfile, nSize, 1, fp);

    nReadSize = strlen(pszfile);

    printf("pszfile data = %s\n", pszfile);

}

psz文件读取结果=“?”

如何使用 fread() 读取 tar.gz 文件?

最佳答案

不要使用strlen 来查找二进制文件大小。 使用 nReadSize 获取 fread

读取的实际字节数

关于c - 如何使用 http post 传输 tar.gz 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54396388/

相关文章:

c - C 数据类型的内存分配

c - 从宏生成 `#define`

json - Spring MVC : post request and json object with array : bad request

perl - Perl CGI 程序是否存在 HTML 联系表单的缓冲区溢出或脚本漏洞?

c - 如何用 C 语言编写我自己的 mv(重命名/移动)unix 命令版本?

http - Ruby HTTParty - 获取重定向的 URL

python - 在 Python 中发出大量 HTTP 请求

linux - 从 Linux 终端查询 Web 服务器

html - 如何防止在表单发布后打开新窗口/标签

有人可以描述我在 GNU llibc 的 mallo.c 中找到的以下函数体吗?