【发布时间】:2014-10-11 07:15:02
【问题描述】:
我正在尝试编写一个读取文件大小的代码,然后相应地分配缓冲区大小。
由于某种原因,我的缓冲区大小并不总是改变它的 4 字节。
任何提示为什么我的缓冲区没有分配等于读取文件大小的内存?
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE *file,*fp;
file = fopen("file.txt", "r");
fp = fopen( "outputnew.txt" , "w" );
long lSize;
fseek(file, 0, SEEK_END);
lSize = ftell(file);
fseek(file, 0, SEEK_SET);
char *buffer = (char*) malloc(sizeof(char)*lSize);
printf("%d\n",sizeof(buffer));
return(0);
}
【问题讨论】:
-
提示 #1:don't cast
malloc;提示 #2:sizeof(char)is always1