fstream获得文件大小
如果是ifstream使用seekg和tellg:
ifstream fsRead; fsRead.open(srcFilePath.c_str(), ios::in|ios::binary); if (!fsRead) { sec_error("Uncompress processing: can not open source file! [%s]",src_file_name); return -3; } fsRead.seekg(0, fsRead.end); size_t srcSize = fsRead.tellg(); if (!srcSize) { sec_error("Source file: [%s] size is 0! Return directly!",srcFilePath.c_str()); fsRead.close(); sec_error("File closed successfully!"); return 0; } sec_debug("Source file :[%s] size is : [%d]",srcFilePath.c_str(), srcSize);
如果是ofstream使用seekp和tellp
ofstream fsWrite; fsWrite.open(destFilePath.c_str(), ios::out|ios::binary); if (!fsWrite) { fsRead.close(); sec_error("Compress processing: can not open destination file! [%s]",des_file_name); return -3; } // Some work ... fsWrite.seekp(0, fsWrite.end); size_t dstFileSize = fsWrite.tellp();
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 比较两个字符串的相似度
- 下一篇: PHP之找任意两个字符串的最大相同部分