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之找任意两个字符串的最大相同部分
