Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >fstream 获取文件大小_c++获取文件大小

fstream 获取文件大小_c++获取文件大小

作者头像
全栈程序员站长
发布于 2022-11-04 11:57:53
发布于 2022-11-04 11:57:53
6.8K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

如果是ifstream使用seekg和tellg:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    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();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191826.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月19日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++ fstream详解[通俗易懂]
C语言里面对文件的操作是通过文件指针,以及一些相关的函数,那么C++中是如何对文件进行操作的呢?没错,就是通过 fstream 这个文件流来实现的。当我们使用#include 时,我们就可以使用其中的 ifstream,ofstream以及fstream 这三个类了(ofstream是从内存到硬盘,ifstream是从硬盘到内存),也就可以用这三个类来定义相应的对象了,这三个类分别代表一个输入文件,一个输出文件,以及一个输入输出文件。Ifstream类支持>>操作符,ofstream类支持<<操作符,fstream类同时支持>>和<<操作符。
全栈程序员站长
2022/11/05
2.2K0
c++读写文件的几种方法_include有什么用
在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结:
全栈程序员站长
2022/11/04
1.4K0
c++读写文件的几种方法_include有什么用
c++ 文件操作详解
C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来) 打开文件(Open a file) 对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一个文件。被打开的文件在程序中由一个流对象(stream object)来表示 (这些类的一个实例) ,而对这个流对象所做的任何
拾点阳光
2018/05/10
2K0
ifstream java_使用ifstream :: seekg和tellg获取文件大小
ifstream in(fileName.c_str(), ifstream::in | ifstream::binary);
全栈程序员站长
2022/08/29
1.1K0
C++文件读写
在C++中,所有的输入输出操作大部分都继承自 ios_base 基类,详细的继承体系如下图所示
范中豪
2021/05/27
1.3K0
vs中没有vc_vs中的控件
头文件fstream包含了ifstream、ofstream、fstream三个类,可以通过定义这三个类的对象来实现相对应的文件操作。
全栈程序员站长
2022/09/30
9050
fstream的用法_fun 的用法
在C++中输入输出到指定文件,或者从指定文件中读出数据使用fstream类较为方便。
全栈程序员站长
2022/10/02
3.6K0
C++读写文件操作(fstream、ifstream、ofstream、seekg、seekp、tellg、tellp用法)[通俗易懂]
本文主要总结用C++的fstream、ifstream、ofstream方法读写文件,然后用seekg()、seekp()函数定位输入、输出文件指针位置,用tellg()、tellp()获取当前文件指针位置。
全栈程序员站长
2022/09/03
7.7K0
C++读写文件操作(fstream、ifstream、ofstream、seekg、seekp、tellg、tellp用法)[通俗易懂]
C++ fstream文件流读写文件操作详解
掌握文本文件读写的方法 了解二进制文件的读写方法C++文件流: fstream  // 文件流 ifstream  // 输入文件流 ofstream  // 输出文件流
horsley
2022/08/16
2.9K0
从零开始学C++之IO流类库(三):文件的读写、二进制文件的读写、文件随机读写
文章主要讲述了C++流和文件操作的相关内容。包括标准I/O流、自定义I/O流、文件操作、文件的随机读写以及文件指针的移动。
s1mba
2017/12/28
3.3K0
[C++][IO]fstream用法
void open(const char* filename,int mode,int access);
静默虚空
2022/05/07
9890
C++中fstream_在使用中
C++中处理文件类似于处理标准输入和标准输出。类ifstream、ofstream和fstream分别从类 istream、ostream和iostream派生而来。作为派生的类,它们继承了插入和提取运算符(以及其他成员函数),还有与文件一起使用的成员和构造函数。可将文件<fstream> 包括进来以使用任何fstream。如果只执行输入,使用ifstream类;如果只执行输出,使用 ofstream类;如果要对流执行输入和输出,使用fstream类。可以将文件名称用作构造函数参数。
全栈程序员站长
2022/10/02
6.8K0
C++中fstream_在使用中
c++中fstream是什么意思_汽车配置参数图文详解
‍1,几个文件流类名称:fstream,ifstream,ofstream,iofstream
全栈程序员站长
2022/11/04
1.4K0
c++中fstream是什么意思_c++形式参数
最近出于学习需要, 接触了一些C++的程序, 对于文件的操作, 在C++中的实现方法与C中有些不同,
全栈程序员站长
2022/11/04
8190
C++ IO库介绍及使用方式
IO 类型之间的关系 设备类型和字符大小都不会影响IO操作,我们可以使用 >> 读取数据,不用关系是从控制台窗口,一个磁盘文件还是一个 string 对象。也不用关心使用char对象去存储还是使用wchar_t对象去存储。 因为有继承机制和模板,我们可以忽略不同流之间的差异。
HeaiKun
2020/07/07
2K0
c++ fstream + string 处理大数据
起因 (1)之前处理文本数据时,各种清洗数据用的都是java的File,FileReader/FileWriter,BufferedReader/BufferedWriter等类,详见java读写文件 (2)应用java的原因是java里面的map非常灵活,eclipse编译器更是给力,而且ctrl可以追踪函数等,详见java map的排序 (3)应用java的另一个原因是java里面的string类的字符串处理非常灵活,各种函数是应用尽有。 (4)上面两点算是自己的误解吧,因为c++里面也有也有与之对应
CSDN技术头条
2018/02/08
2.5K0
c++ fstream + string 处理大数据
文件的输入和输出
【注:以默认模式打开文件(即上述方式)进行输出将自动把文件的长度截短为零,这相当于删除已有的内容。具体原因见本文第三节文件模式中的注】
艰默
2023/02/26
1.9K0
文件的输入和输出
f stream_fstream
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;
全栈程序员站长
2022/09/29
5740
文件IO操作之文件指针
判断文件读写成功的函数 这个我们之前文章已经有用到的了 下面再列举一下 good如果文件顺利打开且没有发生任何错误返回true 该方法也指出的最后一次读取输入的操作是否成功。 fail方法用于判断最后一次读取数据的时候是否遇到了类型不配的情况,若是返回true(如果遇到了EOF,该方法也返回true) bad如果出现意外的问题 任意文件受损或硬件故障 最后依次读取数据的时候发生了这样的问题 bad()方法将返回true 读取文件的时候如何知道读取到了文件的末尾 可以用eof来判断最后一次读取是否遇到EOF即文件的末尾 是则返回true 妈,那么判断末尾的的方法我们已经知道了 我们该如何知道文件在当前文件的哪个位置 我们之前在C++语言中也提到了文件指针的这个概念 这里再来复习一下可以说是 文件指针可以理解为文件内部记录读取或者写入的当前位置 每次程序在读写文件时,磁盘中的文件指针就会向后移动一个字节 文件流提供以下成员函数来读取或配置文件指针: tellg()      返回读取文件指针的当前位置 tellp()      返回写入文件指针的当前位置 seekg(指针偏移量)      将读取文件指针移到指定位置 seekg(指针偏移量,参照位置)      将读取文件指针移到指定位置 seekp(指针偏移量)      将写入文件指针移到指定位置 seekp(指针偏移量,参照位置)  将写入文件指针移到指定位置 第二个实参称为模式标志,它指定从哪里计算偏移量。标志 ios::beg 表示偏移量是从文件开头算起的。也可以修改该参数,从文件末尾或文件中的当前位置计算偏移量。表 1 列出了所有 3 种随机访问模式的标志。
用户7272142
2023/10/29
3530
文件IO操作之文件指针
C++ fstream 二进制读写文件 (一个文件备份的例子)
直接上代码: #include <iostream> #include <string> #include <vector> #include <fstream> bool ReadFile(std::string& strFile, std::vector<char>& buffer) { std::ifstream infile(strFile.c_str(), std::ifstream::binary); if (!infile.is_open()) { p
xcywt
2021/11/29
3.3K0
相关推荐
C++ fstream详解[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验