C++文件处理

yizhihongxing

? 新建文件

//这是要操作的文件名称
string str_filename = "E:/data/t/haha.txt";
//创建一个流对象 o 就是从这个流对象出去, 出到哪里, 当然是我们要建立的文件
ofstream ofs;
//out会覆盖
ofs.open(str_filename, ios::out);
ofs << "我创建了一个文件, 向里面写入内容1" << endl;

? 删除文件

//里面填要删除的文件名
remove(str_filename.c_str());

? 查询文件是否存在
编辑器抽风, 我这里看着是好的, 以后再改了

//创建一个stat
struct stat buffer;
//这里要调用c_tr()转下型
if(stat(str_filename.c_str(), &buffer) == 0) cout<<"这个文件存在"<<endl;
else cout<<"这个文件不存在"<<endl;
  • 写成函数

    inline bool if_the_file_exists(const std::string& name) {
    	struct stat buffer;
    	return (stat(name.c_str(), &buffer) == 0);
    }
    

? btw 查看文件内容

ifstream ifs;
ifs.open(str_filename, ios::in);
char ch;
while (ifs >> noskipws >> ch)
cout << ch;

? 修改文件数据

  • 修改文件名

    //老名字
    string old_name = "xxx";	
    //新名字
    string new_name = "zzz";
    //改名
    if (!rename(old_name.c_str(), new_name.c_str()))
    {
        cout << "改名成功" << endl;
    }
    
  • 覆写(见新建文件)

  • 追加内容

//创建一个流对象 o 就是从这个流对象出去, 出到哪里, 当然是我们要建立的文件
ofstream ofs2;
//app是追加
ofs2.open(str_filename, ios::app);
ofs2 << "我创建了一个文件, 向里面写入内容2" << endl;
ofs2.close();

? 复制文件(待续)

? 加密解密

部分内容参考这个网站

原文链接:https://www.cnblogs.com/Long23/p/17311350.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++文件处理 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • 第一部分:介绍 Spdlog 日志库

    什么是 Spdlog 日志库 Spdlog 是一个 C++ 的日志库,它具有高效、易用、跨平台等特点。它可以写入到控制台、文件等输出目标,支持多种日志级别、多线程安全等功能,非常适合在 C++ 项目中使用。 Spdlog 日志库的历史和背景 Spdlog 日志库最初由 Gabi Melman 开发,它最初是为了解决 C++ 中的日志记录问题而创建的。在很长一…

    C++ 2023年4月18日
    00
  • C++深拷贝与浅拷贝

    浅拷贝的问题 默认提供的拷贝构造就是浅拷贝,如果拷贝的对象中含有成员指针变量指向堆区中的内存空间,那么就会出现两个对象中的成员指针变量指向同一块堆区空间,当方法执行结束后,对象就会被释放,调用析构函数(析构函数中存在释放在堆区开辟的内存空间),就会存在一块内存空间被多次释放的问题。 解决办法 自己写拷贝构造,让拷贝构造后的对象中的成员指针变量指向一块新的内存…

    C++ 2023年4月25日
    00
  • 【Visual Leak Detector】库的 22 个 API 使用说明

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇主要介绍 VLD 库提供的 22 个外部接口。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 头文件简介 2. 文件 vld_def.h 简介 3. 文件 vld.h 简介 3.1 接口 VLDDisable 3.2 接口 VLDEnable 3.3 接口 VLDRestore…

    C++ 2023年4月17日
    00
  • 高效c语言1快速入门

    本章将开发你的第一个C语言程序:传统的 “Hello, world!”程序。然后讨论一些编辑器和编译器的选项,并阐述移植性问题。 Hello, world! #include <stdio.h> #include <stdlib.h> int main(void) { puts(“Hello, world!”); return EXI…

    C++ 2023年5月10日
    00
  • C++的引用变量作为函数参数

    一、问题引入 在C++的中新增一个特性:按引用传递变量,虽然与按传递变量的地址可以实现相同的结果,但引用有其独特的地方。 引用传递: 引用经常被用作函数参数,使得函数中的变量名成为调用程序中的变量的别名。 通过引用变量用作参数,函数将使用原始数据,而不是其副本。 二、解决过程 举例说明: #include <iostream> using nam…

    C++ 2023年4月17日
    00
  • L1-087 机工士姆斯塔迪奥*(使用C++动态数组new暴力实现)

    L1-087 机工士姆斯塔迪奥 分数 20 全屏浏览题目 切换布局 作者 DAI, Longao单位 杭州百腾教育科技有限公司在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。 你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及…

    C++ 2023年4月18日
    00
  • 【Visual Leak Detector】在 VS 2015 中使用 VLD

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇介绍在 VS 2015 中使用 VLD。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 使用前的准备 3. 在 VS 2015 中使用 VLD 3.1 无内存泄漏时的输出报告 3.2 有内存泄漏时的输出报告 4. 无法正常使用的可能原因 1. 使用前的准备 参考本人另一篇博客 …

    C++ 2023年4月17日
    00
  • 【Visual Leak Detector】在 VS 高版本中使用 VLD

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。 本篇介绍如何在 VS 高版本中使用 vld2.5.1。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 使用前的准备 2. 在 VS 2015 及更早版本中使用 VLD 3. 在 VS 高版本中使用 VLD 3.1 参考资料:在 VS 2017 中使用 VLD 3.2 参考资料:在…

    C++ 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部