C++文件处理

? 新建文件

//这是要操作的文件名称
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日

相关文章

  • 【Visual Leak Detector】VS 中 VLD 输出解析

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 使用方式 2. 输出报告 1. 使用方式 在 VS 中使用 VLD 的方法可以查看另外一篇博客:在 VS 2015 中使用 VLD。 2. 输出报告 在 VS 中使用 VLD 时的输出报告,与在 QT 中使用时是一致的,输出内容的解析…

    C++ 2023年4月17日
    00
  • MordernC++之左值(引用)与右值(引用)

    左值与右值 C++中左值与右值的概念是从C中继承而来,一种简单的定义是左值能够出现再表达式的左边或者右边,而右值只能出现在表达式的右边。 int a = 5; // a是左值,5是右值 int b = a; // b是左值,a也是左值 int c = a + b; // c是左值,a + b是右值 另一种区分左值和右值的方法是:有名字、能取地址的值是左值,没…

    C++ 2023年4月17日
    00
  • C++ 测试框架 GoogleTest 初学者入门篇 甲

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/BS_u9A4EY50y4vDDuxkCAQ 开发者虽然主要负责工程里的开发任务,但是每个开发完毕的功能都是需要开发者自测通过的,所以经常会听到开发者提起单元测试的话题。那么今天我就带大伙一起来看看大名鼎鼎的谷歌 C++ 测试…

    C++ 2023年4月18日
    00
  • 记一次 腾讯会议 的意外崩溃分析

    一:背景 1. 讲故事 前段时间在用 腾讯会议 直播的时候,居然意外崩溃了,还好不是在训练营上课,不然又得重录了,崩完之后发现 腾讯会议 的 bugreport 组件会自动生成一个 minidump,截图如下: 作为一个.NET高级调试的技术博主,非 .NET 的程序也得要研究研究哈???,有了这个好奇心,也有了这个 dump,接下来用 windbg 看一看…

    C++ 2023年4月22日
    00
  • C++:explicit关键字

    C++中的explicit关键字只能用于修饰只有一个参数的类构造函数,它的作用是表明该构造函数是显示的,而非隐式的,跟它相对应的另一个关键字是implicit,意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式)。 那么显示声明的构造函数和隐式声明的有什么区别呢? 来看下面的例子: class CxString // 没有使用explicit关…

    C++ 2023年4月18日
    00
  • 网络框架重构之路plain2.0(c++23 without module) 综述

    最近互联网行业一片哀叹,这是受到三年影响的后遗症,许多的公司也未能挺过寒冬,一些外资也开始撤出市场,因此许多的IT从业人员加入失业的行列,而且由于公司较少导致许多人求职进度缓慢,很不幸本人也是其中之一。自从参加工作以来,一直都是忙忙碌碌,开始总认为工作只是为了更好的生活,但是一旦工作停下来后自己就觉得失去了一点什么,所以很少有像最近这两个月左右空闲的时光。人…

    C++ 2023年4月17日
    00
  • 【Visual Leak Detector】源码文件概览

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记。本篇对 VLD 源码包中的各文件用途做个概述。同系列文章目录可见 《内存泄漏检测工具》目录 目录 说明 1. 整体概览 2. 文件夹 .teamcity 3 文件夹 lib 3.1 文件夹 cppformat(生成 libformat) 3.2 文件夹 dbghelp 3.3 文件夹 gtest(…

    C++ 2023年4月24日
    00
  • C++动态分配(new)二维数组的若干方法

    写在前面 之前刷动态规划的题目,多需要用到二维数组(也许后面再优化成一维)。如果每次都按照给定数的范围直接声明为全局二维数组变量,又总觉得的不够优雅。查阅了一些网上的资料后,总结了一些使用方法,就写下这篇博文用以记录。 方法1——动态分配(new)一维数组,再强制类型转换为二维(个人使用,推荐指数:⭐⭐⭐⭐) 直接看例子 /** 假设需要根据两个string…

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