使用std–fstream处理文件「建议收藏」

使用std–fstream处理文件「建议收藏」fstream文件操作总结文件的操作一直在用,在此总结一下:fstream的使用std::fstream从std::ofstream继承写入文件的功能,从std::ifstream继承读取文件的功能.包含头文件#include使用open()和close()打开和关闭文件#include#includeusingnamespa

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

fstream文件操作总结

文件的操作一直在用,在此总结一下:fstream的使用

std::fstream从std::ofstream继承写入文件的功能,从std::ifstream继承读取文件的功能.

包含头文件

 #include <fstream>

  1. 使用open( )和close( )打开和关闭文件
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    fstream myFile;
    //如果不存在即创建新文件
    myFile.open("F:\\wzz_job\\face_confirm\\argv_test\\hello_argv\\helloFile.txt",ios_base::out|ios_base::trunc);

    if (myFile.is_open())
        cout << "open is ok " << endl;
    myFile.close();
    system("pause");
}

输出结果:
这里写图片描述

open( )函数:第一个参数是要打开的文件的路径和名称(或指定当前路径),第二参数是文件的打开模式。
具体属性可参考网址
这里写图片描述

其他文件读取方式:

//使用构造函数打开
fstream myFile("F:\\argv_test\\hello_argv\\helloFile0.txt", ios_base::out | ios_base::trunc);
    // 只想打开文件写入
ofstream myFile("F:\\argv_test\\hello_argv\\helloFile0.txt", ios_base::out);
    // 只想打开文件读取
ifstream myFile("F:\\argv_test\\hello_argv\\helloFile0.txt", ios_base::in);

2.使用open( )创建及写入文本,使用运算符<<

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    fstream myFile;
    //如果不存在即创建新文件
    myFile.open("F:\\wzz_job\\face_confirm\\argv_test\\hello_argv\\helloFile.txt",ios_base::out|ios_base::trunc);
    if (myFile.is_open())
        cout << "open is ok " << endl;
    // 写入文本
    myFile << "hello fstream" << endl;
    cout << "Finished" << endl;
    myFile.close();
    system("pause");
}

3.使用open( )创建及读入文本,使用运算符>>

#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
    fstream myFile;
    //如果不存在即创建新文件
    myFile.open("F:\\wzz_job\\face_confirm\\argv_test\\hello_argv\\helloFile.txt",ios_base::in);
    if (myFile.is_open())
        cout << "open is ok " << endl;

    string fileTxt;
    while (myFile.good())
    {
        getline(myFile,fileTxt);
        cout << fileTxt << endl;

    }
    cout << "Finished" << endl;
    myFile.close();
    system("pause");
}

txt文件内容
这里写图片描述
输出
这里写图片描述

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

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

(0)
上一篇 2025年12月7日 上午10:15
下一篇 2025年12月7日 上午10:43


相关推荐

  • 科大讯飞2025年Q3:营收利润双增 星火大模型筑牢 AI 自主可控壁垒

    科大讯飞2025年Q3:营收利润双增 星火大模型筑牢 AI 自主可控壁垒

    2026年3月14日
    2
  • Supplier JAVA_深入理解java1.8之supplier

    Supplier JAVA_深入理解java1.8之suppliersupplier 也是是用来创建对象的 但是不同于传统的创建对象语法 new 看下面代码 publicclassT privateintag TestSupplier System out println age publicstatic String args 创建 Supplier 容器 声明为 TestSupplier 类型

    2026年3月16日
    3
  • 图像识别算法

    图像特征包括颜色特征、纹理特征、形状特征以及局部特征点等。局部特点具有很好的稳定性,不容易受外界环境的干扰。1.局部特征点图像特征提取是图像分析与图像识别的前提,它是将高维的图像数据进行简化表达最有效的方式,从一幅图像的M×N×3的数据矩阵中,我们看不出任何信息,所以我们必须根据这些数据提取出图像中的关键信息,一些基本元件以及它们的关系。局部特征点是图像特征的局部

    2022年4月4日
    355
  • ringbuffer的常规用法_c语言fputs

    ringbuffer的常规用法_c语言fputs一、ringBuffer介绍ringBuffer称作环形缓冲,也有叫circleBuffer的。就是取内存中一块连续的区域用作环形缓冲区的数据存储区。这块连续的存储会被反复使用,向ringBuffer写入数据总是从写指针的位置开始,如写到实际存储区的末尾还没有写完,则将剩余的数据从存储区的头开始写;从该ringBuffer读出数据也是从读指针的位置开始,如读到实际存储区的末尾…

    2025年10月25日
    5
  • java 僵尸危机秘籍_僵尸危机3通关攻略 僵尸危机3高手通关心得一览

    java 僵尸危机秘籍_僵尸危机3通关攻略 僵尸危机3高手通关心得一览1 一开始给的手枪 子弹无限 2UZI 冲锋枪 一开始 100 发子弹 以后会更多 3Shotgun 单暴 打小僵尸一下就死 BOSS5 6 下 以后是连暴 4Barrel 油桶 放了以后 打一枪就炸 注意别把自己炸死 5Grenade 手榴弹 一扔就 OK6walls 是墙 用来堵路的 7Claymore 炸弹 放一个 走远点 僵尸走到那就爆了 8Rocket 火箭弹 离远点再打 容易自残 9Ch

    2026年3月18日
    1
  • lua语言基本语法

    lua语言基本语法最近闲来无事学习一下 LUA 语言首先需要明白 Lua 是动态类型语言 变量不要类型定义 只需要为变量赋值 值可以存储在变量中 作为参数传递或结果返回 Lua 中有 8 个基本类型分别为 nil boolean number string userdata function thread 和 tablenil 这个最简单 只有值 nil 属于该类 表示一个无效值 在条件表达式中

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号