c++之文件操作

2023-11-10

文件操作

1.头文件fstream
2.文件类型有两种:文本文件 ,二进制文件
3.操作文件的三大类

ofstream:写操作
ifstream:读操作
fstream:读写操作

写文件

1.包含头文件

#include<fstream>

2.创建流对象

ofstream ofs;

3 打开文件

ofs.open("文件路径",打开方式);

4.写数据

ofs<< "写入数据";

5 关闭文件

ofs.close();

文件的打开方式
在这里插入图片描述
文件打开方式可以配合使用,利用 "|"操作符;
如:利用二进制方式写文件ios::binary | ios::out

代码示例

#include <iostream>
#include <algorithm>
#include <string>
#include <fstream>
using namespace std;

int main()
{ 
    //创建对象
    ofstream ofs;  
  
    ofs.open("lcl.txt",ios::out);
  
    ofs<<"姓名:lcl" <<endl;
    ofs<<"性别:man" <<endl;
    ofs<<"age: 18" <<endl;
  
    ofs.close();
    return 0;
}

结果输出
在这里插入图片描述

读文件

#include <iostream>
#include <algorithm>
#include <string>
#include <fstream>
using namespace std;
#include <unistd.h>

int main()
{ 
    //创建对象
    ifstream ifs;  
  
    ifs.open("lcl.txt",ios::in); //以读的方式打开
    
    if(!ifs.is_open())
    {
        cout << "open failed"<<endl;
        return -1;
    }
    //方法1
    char buf[1024] = {0}; //定义数组后,内存中就已经开辟的相应大小的空间,如果是指针,则需要去分配内存
    while (ifs >> buf)  //ifs 中存放从打开文件中读取的内容,每次读去1024个字节到buf中
    {

        cout <<"1 " <<buf <<endl; 
        sleep(1);
    }
   
    //方法2
    char buf1[1024] = {0};
    while(ifs.getline(buf1,sizeof(buf1)))  //每次获取一行到buf中
    {
        cout <<"2 " <<buf1 <<endl;
        sleep(1);
    }

    //方法3
    string buf2;
    while(getline(ifs,buf2))
    {
        cout <<"3 " <<buf2 <<endl;
    }

    //方法4
    char c;
    while((c = ifs.get()) != EOF)  //end of file
    {
        cout << c;
    }
    
    ifs.close();
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++之文件操作 的相关文章

  • 在 MS word .docs 中插入 MathMl 、 Tex 或 LaTex 方程?

    我一直在寻找 C 中 Net 的一些 dll 用于在 MS Word 中插入任何 MathMl Tex 或 LaTex 方程 我尝试了一些类似 DocX 的工具 但它们失败了 你知道吗 或任何提示如何做到这一点 谢谢 Word 2007 可
  • 使用 C# 使用证书进行 SSL 客户端身份验证

    我需要创建一个 C 应用程序 该应用程序必须使用 SSL 向服务器发送 API 请求 我需要创建客户端身份验证 我已经拥有服务器 CA 证书 客户端证书 cer 客户端私钥 pem 和密码 我找不到有关如何创建客户端连接的示例 有人可以建议
  • unique_ptr需要存储删除器怎么可能没有开销呢?

    先看看C Primer讲了什么unique ptr and shared ptr 16 1 6 美元 效率和灵活性 我们可以确定的是shared ptr不将删除者视为直接成员 因为删除器的类型直到运行时才知道 因为删除器的类型是a类型的一部
  • 安全地检查“this”是否为空

    首先 我知道在空指针上调用方法是未定义的行为 我还知道 因为这不应该发生 编译器可以 并且确实 假设this始终为非空 但在实际代码中 有时您会不小心这样做 通常 它没有任何不良影响 当然除了this方法中为 null 并且事情可能会崩溃
  • 检查文件是真实文件还是符号链接

    有没有办法使用 C 来判断文件是真实文件还是符号链接 我已经挖过了MSDN W32 文档 https learn microsoft com en us windows win32 fileio file management functi
  • send() 使我的程序崩溃

    我正在运行服务器和客户端 我正在我的计算机上测试我的程序 这是服务器中向客户端发送数据的函数 int sendToClient int fd string msg cout lt lt sending to client lt lt fd
  • 将二维整数作为 Readonly/const 存储在单独的类中,同时保持非公开

    这是我在使用这个地方作为我的 去处 以获取关于什么有效 无效 为什么等的一般意见之后的第一个问题 那么让我们试试这个 由于我的经验有限 我一直在尝试寻找更好的方法来创建固定数据字段 我可以在整个程序中引用这些字段 例如我反复显示的最终用户可
  • 隐藏树视图列表中的节点。在 C# 中

    我正在使用 VS 2005 C 正在处理一个未完成的 WinForm 我已将 XML 解析为树视图列表 但遇到了一些问题 我想知道是否有一种方法可以隐藏 过滤 删除名称中包含 this text 的某个节点 而不必依赖文本框 这就是我对这个
  • 为什么 ATOMIC_FLAG_INIT 为假?

    In C 11有std atomic flag这对于线程循环很有用 static std atomic flag s done ATOMIC FLAG INIT void ThreadMain while s done test and s
  • 命名空间中不存在类型或命名空间名称 - 但命名空间确实存在

    我已经工作了很长时间没有任何问题的项目突然开始抛出错误 例如 The type or namespace name xxx does not exist in the namespace yyy are you missing an ass
  • “应用程序配置”文件中的最大键/值长度

    允许的最大长度是多少MyKey and MyValue在配置文件中
  • ASP.NET MVC - HybridViewResult (ViewResult /PartialViewResult)

    是否可以构建一个依赖于 Ajax 请求或 Http 请求返回的混合 ViewResultPartialViewResult or ViewResult IsAjaxRequest gt 返回 PartialViewResult IsAjax
  • std::regex 的行为不一致

    我有以下问题 std regex如果我传递结果 行为会有所不同boost filesystem path string vs 将结果存储在中间字符串变量中 第一个将返回一个被截断的匹配 并且稍后不被接受std stoull 抛出 inval
  • DateTimeFormat.AbbreviatedMonthNames 在月份名称末尾添加一个点

    昨晚 我们将 Web 服务层从物理 Windows 2008 r2 迁移到虚拟 Windows 2012 我们的日志中收到大量有关 DateTime 无效格式的事件 这很奇怪 因为我们仔细检查了区域设置 长话短说 CultureInfo G
  • 计算距离早上 8 点还有多少小时

    我知道如何计算两个日期之间的差异 但如何计算给定日期与下一个上午 8 点之间的时间 var now DateTime Now var tomorrow8am now AddDays 1 Date AddHours 8 double tota
  • 从多页 tiff 中提取帧 - C#

    有一个多页 tiff 我想从此 Tiff 文件中提取第 n 页 帧 n 并保存它 如果我的多页 tiff 有 3 帧 在我提取一页 帧后 我想留下 1 张图像有 2 页 帧 并且 1 张图像只有 1 页 帧 下面是一些代码 用于将多帧 ti
  • 什么时候适合在 C++ 中使用 static(在未命名的命名空间上)?

    我一整天都在阅读有关未命名命名空间的文章 大多数文章都解释了何时应该在 static 关键字上使用未命名命名空间 但我仍然有一个大问题什么时候适合使用静态 毕竟它还没有完全弃用 那么带有静态函数的头文件我现在应该将它们放入未命名的命名空间中
  • ASP .NET Core IIS 托管用户身份名称为空且 IsAuthenticated=false

    我在 IIS 上运行 ASP NET Core dll 使用 AspNetCoreModule 使用以前的 ASP NET 我可以通过以下方式获取用户身份名称 HttpContext Current User Identity Name 因
  • 同时运行 x 个网络请求

    我们公司有一个网络服务 我想通过我自己的服务发送 XML 文件 存储在我的驱动器上 HTTPWebRequestC 中的客户端 这已经有效了 Web服务同时支持5个同步请求 一旦服务器上的处理完成 我就会从Web服务获得响应 每个请求的处理
  • 在实体框架中比较日期的最佳方法

    我在实体框架的 where 子句中使用日期并收到以下错误 这是由于以下代码 var entity dbContext MyTable Where w gt w PId 3 w CreatedOn Date mydate Date First

随机推荐

  • 动画 + 大白话讲清楚React渲染原理

    前言 相信很多人跟我之前一样 看到源码两个字觉得触不可及 觉得离自己还很遥远 是需要非常多年的工作经验的大佬才能触及到的领域 就在去年我改变了这个想法 当时被react的几个生命周期执行顺序弄的睡不着觉 为什么有些时候生命周期的执行事与愿违
  • 小软件项目开发的管理

    小软件项目开发的管理 创建成功的工程 成功项目管理的秘密 更好地领导一个项目的诀窍 参与变革 走向成功 CMM TSP PSP讲义稿 开发流程中的可用性 软件开发的管理和控制 如何组织软件开发团队 软件项目管理 CMM 经验谈 实施CMM
  • stable-diffusion的webui和comfyuig共享模型路径

    1 修改上图extra model paths yaml example为extra model paths yaml Rename this to extra model paths yaml and ComfyUI will load
  • 最长公共子序列问题(Java)-动态规划

    动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题 而会分解出一系列的子问题 简单地采用把大问题分解成子问题 并综合子问题的解导出大问题的解的方法 问题求解耗时会按问题规模呈幂级数增加 为了节约重复求相同子问题的时间 引入一个数组 不
  • 关于Springcloud的RestTemplate使用服务名报异常java.net.UnknownHostException

    关于Springcloud的RestTemplate使用服务名报异常java net UnknownHostException和使用localhost 8081报异常java lang IllegalStateException No in
  • ConstraintLayout基本使用之toLeftOf 、toTopOf、toRightOf、toBottomOf

    关于ConstraintLayout的博客 文章想必大家已经见过很多了 都是很全面的 今天这篇博客主要将ConstraintLayout的 layout constraintLeft toLeftOf layout constraintLe
  • HTML常考知识点和面试题

    保证页面不会出现编码问题 乱码 宽度等于设备宽度 初始化比例等于1 最大初始化比例等于1 user scalable no 将控制用户无法进行触屏扩大或缩小网页 适配移动端的第一步加上viewport 再针对手机屏幕大小调整 指定一个基础的
  • 【LeetCode队列】933 最近的请求次数 RecentCounter(java实现)

    文章目录 题目描述 一 解题思路 二 代码 1 最近的请求次数 2 测试数据 3 复杂度分析 4 执行时间 题目描述 写一个 RecentCounter 类来计算特定时间范围内最近的请求 请你实现 RecentCounter 类 Recen
  • 2023-04-29 读取内容为十六进制数字的txt文件转换为二进制文件

    读取内容为十六进制数字的txt文件转换为二进制文件 前言 一 示例代码 总结 前言 一个有趣的题目 读取txt文件内容两两结合 存储为dat文件 实现十分简单 有很多有意思的回答 但大都是python 其实这个用C的格式化读取fscanf
  • DC/DC:单端反激直流变换电路设计及matlab/Simulink仿真

    直流单端反激变换电路在开关管导通时电源将电能转为磁场能储存在变压器中 当开关管关断时再将磁能转变为电能传送到负载 单端反激变换电路是由升降压 Buck Boost 变换电路派生而来的 电路图如图所示 参数计算 理论计算可参考Buck Boo
  • 通过hyperledger fabric理解区块链存储

    hyperledger fabric 是一个联盟链框架 基于这个框架的最简单案例 A与B转账 我们来理解一下什么是区块链 第一个问题 区块链是干什么用的 很多人想到了比特币 以太坊等等 那具体是干什么用的呢 实际上可以理解为一个特别的数据存
  • ERROR: cannot launch node of type [map_server/map_server]: map_server等

    问题说明 在运行Autolabor simulation中README md的Quick start时 roslaunch simulation launch gmapping navigation launch 出现了以下错误 发现找不到
  • phpstudy安装和使用

    一 phpstudy 1 下载网址 http www xp cn 2 过程 1 往下拉可以看到推荐版本我下载的是8 1版本 注意下载路径不可以有中文或空格 2 按需下载 3 安装完成后解压 点击这个一步一步做就可以啦 3 简单熟悉phpst
  • 回形数(转载)

    转载及参考https blog csdn net sinat 37976731 article details 78614723 import java util Scanner author litianfu version 1 0 em
  • CCNP14-BGP基础

    文章目录 一 概念 二 特点 三 数据包 四 邻居关系 名词解释 五 BGP的防环机制 水平分割 六 BGP的工作过程 七 基本配置 八 BGP的三张表 1 简化邻居表 2 BGP的路由表 3 IP路由表 一 概念 BGP 边界网关协议 应
  • (4层)TCP 首部字段

    TCP 报文段的首部格式 TCP 虽然是面向字节流的 但 TCP 发送的数据单元却是报文段 一个 TCP 报文段分为首部和数据两部分 而 TCP 的全部功能都体现在它首部中各字段的作用 TCP 报文段首部的前 20 个字节是固定的 后面有
  • 【搭建博客】picGo+OSS防盗链配置(不同平台)

    汝之观览 吾之幸也 本文主要讲解在使用picGo OSS使用时会出现防盗链问题 配置OSS的防盗链 OSS支持对存储空间 Bucket 设置防盗链 即通过对访问来源设置白名单的机制 避免OSS资源被其他人盗用 可参考防盗链 配置目录 登录O
  • java strom实例_storm 入门教程+简单实例

    写在前面 本篇博客主要介绍 storm 基本概念和一个简单实例 storm版本1 0 2 storm基本概念 storm的集群架构 storm 是一个主从架构 一个主节点 n个从节点 主节点和从节点之间通过zk集群来进行交互 这张图是盗的
  • win10 安装 Cygwin

    http preshing com 20141108 how to install the latest gcc on windows How to Install the Latest GCC on Windows Several mod
  • c++之文件操作

    文件操作 1 头文件fstream 2 文件类型有两种 文本文件 二进制文件 3 操作文件的三大类 ofstream 写操作 ifstream 读操作 fstream 读写操作 写文件 1 包含头文件 include