我想在C中使用HTTP post发送tar.gz文件。
但是,当使用tar.gz读取fread ()文件时,它只读取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);

}

pszfile读取结果=“?”
如何使用tar.gz读取fread()文件?

最佳答案

不要使用strlen查找二进制文件大小。
使用nReadSize获取fread读取的实际字节

09-26 18:59