我用FILESTREAM读取一个文件,然后用SEEK进行文件指针位置的设置,文件大小为5205081600字节,为什么我偏移量到了3000000000+之后,就会报错,说什么“试图将文件指针移动到文件开头之前”。。但明明没有超出啊?

解决方案 »

  1.   

    是不是使用了int类型的变量,导致溢出了。应该使用long。
      

  2.   

    filestream fs = new filestream("xxx");
    fs.seek(3000000000+,seekorgin.begin);---这里报错没有int啊???
      

  3.   

    是不是试图在fat32分区上创建超过4gb的文件?
      

  4.   

    加上 L
    fs.seek(3000000000L+,seekorgin.begin)
      

  5.   

    问题解决了,原来真是INT型的问题,谢谢1,5L的兄弟,谢谢!!