首页 > 编程语言 >c++文件的操作

c++文件的操作

时间:2023-11-21 17:12:21浏览次数:39  
标签:文件 ifs ios c++ char ofs 操作 open

文件操作:

c++对文件的操作需要包含头文件<fstream>

文件的类型,主要分为 文本文件(ASCII形式存在电脑)  和 二进制文件 。

文件操作方式:1.写文件(ofstream) 2.读文件(ifstream) 3.读写文件(fstream)

 

写文件步骤:

1.包含头文件 》 2.创建流对象》 3.打开文件 》 4.写数据 》5.关闭流

#include<fstream>) 》 ofstream ofs;  》 ofs.open("文件路径",打开方式) 》ofs << "132" ; 》ofs.close();

//写文件
void writeFile() {
    ofstream ofs;
    ofs.open("123.txt", ios::out | ios::app);

    char data[100];    

    cout << "Enter your name: ";
    cin.getline(data, 100);
    ofs << data << endl;

    cout << "Enter your age: ";
    cin >> data;
    ofs << data << endl;
    
    ofs << "123456";
    ofs.close();
}
//写文件 (二进制)
void writeBin() {

    class Person {
    public:
        string name;
        int age;
    };
    Person p = {"lwt",30};

    ofstream ofs;
    ofs.open("123.txt",ios::out | ios::binary);

    ofs.write((const char *)&p,sizeof(p));
    ofs.close();

}

 

 

读文件步骤:

1.包含头文件 》 2.创建流对象》 3.打开文件(并判断是否打开成功) 》 4.读数据 》5.关闭流

#include<fstream>) 》 ifstream ifs;  》 ifs.open("文件路径",打开方式) 》四种方式读 》ifs.close();

//读取文件
string getFile() {
    ifstream ifs;
    ifs.open("123.txt", ios::in);

    char data[1024] = { 0 };
    //第一种
    if (ifs.is_open()) {        
        while (ifs >> data) {
            cout << data << endl;
        }    
    }


    //第二种
    while (ifs.getline(data, sizeof(data))) {
        cout << data << endl;
    }


    //第三种 (字符串读)
    string buf;
    while (getline(ifs,buf)) {
        cout << buf << endl;
    }


    //第四种 (一个字符读)
    char c;
    while ((c = ifs.get()) != EOF) { //Een Of File
        cout << c;
    }
    cout << endl;

    ifs.close();

    return "";
}

 

//读文件 (二进制)
void readBin() {

    class Person {
        public:
            char name[20];
            int age;
    };
    Person p ;

    ifstream ifs;
    ifs.open("123.txt", ios::in | ios::binary);
    if (ifs.is_open()) {
        ifs.read((char *)&p, sizeof(Person));

        cout << "姓名:" << p.name <<"年龄:"<< p.age << endl;    
    }
    ifs.close();
}

 

标签:文件,ifs,ios,c++,char,ofs,操作,open
From: https://www.cnblogs.com/fps2tao/p/17846271.html

相关文章

  • C# 窗体应用程序文件夹内容及各文件功能
     1.每创建一个窗体就会生成三个文件,.cs、.Designer.cs、.resx,.cs是整个窗体的应用程序代码,重点。 2.Properties主要是一些属性信息。3.app.config是配置信息,实现修改配置信息,程序就根据配置信息进行运行。 ......
  • 浏览器为什么不用操作系统里面的CA根证书?
    看看文心一言的回答: 更新及时性:操作系统和浏览器的更新频率不同,如果操作系统中的CA根证书已经过期或被撤销,而浏览器仍然使用该证书进行验证,那么就可能导致安全问题。因此,需要用户及时更新浏览器的CA根证书,以确保网站的安全性得到保障。 如果操作系统有对应的根证书,但是浏览......
  • Postgresql(PG)表的操作:
      PG表的支持数据类型:数值数据类型字符串数据类型日期/时间数据类型  #创建库postgres=#createdatabasemydb;CREATEDATABASEpostgres=#\cmydbYouarenowconnectedtodatabase"mydb"asuser"postgres".mydb=#\dDidnotfindanyrelations.#创建表mydb=......
  • SpringBoot实现简单文件上传功能
    通过SpringBoot实现了表单下的文件上传,前后端分离情况下的文件上传。本案例不连接数据库,只做基本的文件上传操作。在SpringBoot中不需要额外导入其他依赖,正常引入即可。后端controller的写法package com.dailyblue.java.controller;  import org.springframework......
  • c++总结
    const在不同位置时的不同意义指针类型前:声明一个指向常量的指针,程序中不能通过指针来改变它所指向的值,但指针本身的值可以改变,即指针可以指向其他数据;"*"号和指针名之间,声明一个指针常量(常指针),指针本身的值不可改变,即不能指向其他数据,但指向的数据的值可以改变两个地方都加,声明......
  • 如何给电脑或者服务器安装银河麒麟操作系统
    我们拿到银河麒麟操作系统镜像以后,如何将其安装到电脑里呢?一、制作启动盘可以使用光盘、U盘等制作启动盘;使用光盘做启动盘,直接将镜像刻录到光盘就可以,这里以U盘举例。1、首先下载启动盘制作工具,推荐使用ventoyVentoy是一个制作可启动U盘的开源工具,你只需要把ISO/WIM/IMG/VHD(x)/EF......
  • Linux学习随笔——目录操作
    一.目录操作目录操作包括:创建、查看、切换、删除步骤;1.创建目录通过命令mkdir来创建,如需创建多层目录,加参数“-p”即可:mkdir目录mkdir-pdef/abc(多层目录)2.查看目录有这几种命令可以查看:pwd、ls(ls-a、ls-l(ll));pwd命令显示当前所在目录,添加“-P”可以显示实际工作目录:p......
  • 06-基础SQL-DML(数据操作语言)
    DML介绍DML英文全称是DataManipulationLanguage(数据操作语言),用来对数据库中表的数据记录进行增删改操作DML-添加数据给指定字段添加一条数据INSERTINTO表名(字段名1,字段名2,...)VALUES(值1,值2,...);给全部字段添加一条数据INSERTINTO表名VALUES(值1,......
  • Linux文件权限
    4.1基本权限UGOU:owner,属主G:group,属组O:other,其他用户r:read(读),数字设定4w:write(写入),数字设定2x:execute(执行),数字设定14.1.1设置文件属性与权限chown:修改文件属主/属组chgrp:修改文件属组chmod:修改文件权限4.2基本权限ACLgetfacl:查看ACL权限setfacl:设置ACL权......
  • js常见操作,获取随机数、定时器
    一、js获取随机数的方法1、Math.random()方法,该方法返回一个大于等于0且小于1的伪随机浮点数。如果需要获取特定范围内的随机数,可以使用数字运算来调整结果。//获取0到1之间的随机数varrandomNum=Math.random();//获取0到10之间的随机整数varrandomInt=Math.floor(Math.ra......