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();

📌 复制文件(待续)

📌 加密解密

部分内容参考这个网站

posted @ 2023-04-12 21:26  无形深空  阅读(91)  评论(0编辑  收藏  举报