c++ 写文件并计算文件的大小

发布时间:2023年12月20日

如果您在关闭文件之前使用 seekp 来移动文件指针,并且确保在文件关闭之前执行了数据写入操作,那么指针位置应该正确的

#include <iostream>
#include <fstream>
#include <nlohmann/json.hpp>

int main() {
    // 文件路径
    std::string filename = "your_file_path.txt";

    // 创建文件流对象
    std::ofstream file(filename, std::ofstream::app | std::ofstream::binary);

    if (!file.is_open()) {
        std::cout << "Unable to open file!" << std::endl;
        return 1;
    }

    // 写入内容
    file << "Hello, World!\n";

    // 定位到文件开头并获取文件大小
    file.seekp(0, std::ios::end);
    std::streampos fileSize = file.tellp();

    // 转换文件大小为字符串
    std::string fileSizeStr = std::to_string(fileSize);

    // 创建 JSON 对象并添加文件大小
    nlohmann::json json_tmp;
    json_tmp["fileSize"] = fileSizeStr;

    // 输出 JSON 对象内容
    std::cout << json_tmp.dump() << std::endl;

    file.close();

    return 0;
}

文章来源:https://blog.csdn.net/m0_56306892/article/details/135079739
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。