在linux下如果不考虑断电系统重启等其他原因可以使用ftruncate()函数,这个函数输入参数为file descriptor 和 offset, 这个函数在unistd.h中,windows一般是用不了这个的。
另外使用文件名得到文件描述符的方法就是int fileno(FILE*); 注意之后别忘了fclose(),下面的代码里忘记写了。
在windows及其他平台可以使用fseeko(FILE* , offset, pos)这个方法
这样就可以快速得到2G的文件了。另外编译时不要忘记添加编译参数-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
想看大文件测试的结果到http://blog.csdn.net/cctt_1/archive/2010/05/23/5618652.aspx