我试图依靠stat(2)系统调用来确定文件的大小,以便为其分配适当的缓冲区。更具体地说,我使用的是系统调用所填充的结构的stat.st_size。struct stat { off_t st_size; /* total size, in bytes */};
其中st_size被定义为off_t,它解析为long int,而不是unsigned long int,这让我感到惊讶。当然,这会导致一个问题,一个足够大的文
我正在尝试读取一个由30e6个位置组成的大型二进制文件,每个位置有195个双精度。由于文件太大,无法全部读取到内存中,因此我以10000个位置为单位进行读取。然后我用它做一些计算,并读取下一块……unsigned int read_chunk(double **chunk_data, unsigned int chunk) { unsigned int total_bytes_re