【发布时间】:2010-12-07 20:52:35
【问题描述】:
FILE *out=fopen64("text.txt","w+");
unsigned int write;
char *outbuf=new char[write];
//fill outbuf
printf("%i\n",ftello64(out));
fwrite(outbuf,sizeof(char),write,out);
printf("%i\n",write);
printf("%i\n",ftello64(out));
输出:
0
25755
25868
发生了什么事? write 设置为 25755,我告诉 fwrite 将这么多字节写入一个文件,在开头,然后我在 25755 之外的位置?
【问题讨论】:
-
附带说明,您可能应该使用
size_t代替write而不是unsigned int -
那么
new运算符在 C 语言中是做什么的?