没有使用fopen获取文件中的所有数据

时间:2017-05-11 17:52:50

标签: c fopen

我使用fopenfread进行此操作:

FILE *fp;

if (fopen_s(&fp, filePath, "rb"))
{
    printf("Failed to open file\n");
    //exit(1);
}

fseek(fp, 0, SEEK_END);
int size = ftell(fp);
rewind(fp);

char buffer = (char)malloc(sizeof(char)*size);
if (!buffer)
{
    printf("Failed to malloc\n");
    //exit(1);
}

int charsTransferred = fread(buffer, 1, size, fp);
printf("charsTransferred = %d, size = %d\n", charsTransferred, strlen(buffer));

fclose(fp);

我没有在新文件中获取文件数据。以下是原始文件(右)与通过网络发送的文件(左)之间的比较: original file on the right, new file on the left.

我的fopen电话有任何问题吗?

编辑:我无法取消空终止符,因为这是一个PDF。如果我摆脱它们,文件将会损坏。

0 个答案:

没有答案