c - 相同的文件,相同的文件大小,但两种不同的内存大小,为什么?

标签 c file-io

FILE *fp;

short *originalUnPacked;
short *unPacked;

int fileSize;

fp = fopen(FILENAME, "r");
fseek (fp , 0 , SEEK_END);
fileSize = ftell (fp);
rewind (fp);

originalUnPacked = (short*) malloc (sizeof(char)*fileSize);
unPacked = (short*) malloc (sizeof(char)*fileSize);

printf ( "The UnPacked  : %d ", unPacked);
printf ( "The Original UnPacked  : %d ", originalUnPacked);

//上面的打印语句打印两个不同的值,我的问题是为什么?

最佳答案

我认为你不应该将short*传递给printf。它需要一个简单的短路,对吗?

如果你打印一个短*,你不会得到大小,你会得到该内存所在的地址。

关于c - 相同的文件,相同的文件大小,但两种不同的内存大小,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7890115/

相关文章:

c++ - 我如何将 uint32_t 转换为 char* 类型

c# - 创建日期和 File.Copy 问题

c# - 将数据写入文本文件

c - 如何从忽略空格的文件中读取数据?

C 如何将 "draw"一棵二叉树发送到控制台

c# - C# 是 C 的超集吗?

c# - 在 C# 中执行繁重的 CPU 操作时并行文件 IO

java - 我想使用 java 代码在文件中的特定位置 append 一些数据

javascript - Web 程序集 - 整数值错误

c - (C) 在屏幕上和文件中打印所有 CP850 字符的程序有不同的输出