09-C++学习笔记-文件操作

这篇具有很好参考价值的文章主要介绍了09-C++学习笔记-文件操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

09-C++学习笔记-文件操作,C++基础笔记,c++,学习,笔记

📚 输入输出流的概念

在C++中,输入输出流是用于在程序和外部设备(如键盘、显示器、文件等)之间进行数据传输的机制。输入流用于从外部设备读取数据到程序中,输出流用于将程序中的数据输出到外部设备。

C++中的输入输出流分别通过iostream库提供的cincout对象来实现。cin用于输入流,cout用于输出流。我们可以使用它们来进行标准输入和输出。

示例:

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "请输入一个整数: ";
    cin >> num;
    cout << "您输入的整数是: " << num << endl;

    return 0;
}

在上述示例中,我们使用cout对象向控制台输出提示信息,使用cin对象从控制台读取用户输入的整数,并使用cout对象输出用户输入的整数。

🗂️ 文件流的概念

除了与标准输入输出相关的流外,C++还提供了文件流用于进行文件的读写操作。文件流通过fstream库提供的ifstreamofstream类来实现。ifstream用于读取文件内容,ofstream用于写入文件内容。

要使用文件流进行文件操作,首先需要打开文件。打开文件时需要指定文件的路径和打开方式。打开方式包括读取模式(ios::in)、写入模式(ios::out)、追加模式(ios::app)等。

示例:

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

int main() {
    ofstream file("example.txt");   // 打开文件 example.txt,用于写入

    if (file.is_open()) {
        file << "Hello, File!" << endl;     // 向文件写入数据
        file.close();                       // 关闭文件
        cout << "文件写入成功。" << endl;
    } else {
        cout << "无法打开文件。" << endl;
    }

    return 0;
}

在上述示例中,我们使用ofstream类创建了一个文件流对象file,并将其与文件example.txt关联。然后,我们使用file对象向文件中写入数据,并在写入完成后关闭文件。

📁 文件操作

✨文本文件

文本文件是由字符组成的文件,可以使用普通的文本编辑器打开查看。在C++中,我们可以使用文件流进行文本文件的读写操作。

🔏 写文件

要向文本文件写入数据,我们需要使用ofstream类创建一个文件流对象,并将其与文件关联。然后,可以使用流插入运算符<<将数据写入文件。

示例:

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

int main() {
    ofstream file

("example.txt");   // 打开文件 example.txt,用于写入

    if (file.is_open()) {
        file << "Hello, File!" << endl;     // 向文件写入数据
        file << "这是一个文本文件示例。" << endl;
        file.close();                       // 关闭文件
        cout << "文件写入成功。" << endl;
    } else {
        cout << "无法打开文件。" << endl;
    }

    return 0;
}

在上述示例中,我们向文件example.txt写入了两行文本数据。

🔏 读文件

要从文本文件读取数据,我们需要使用ifstream类创建一个文件流对象,并将其与文件关联。然后,可以使用流提取运算符>>从文件中读取数据。

示例:

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

int main() {
    ifstream file("example.txt");   // 打开文件 example.txt,用于读取

    if (file.is_open()) {
        string line;
        while (getline(file, line)) {   // 逐行读取文件内容
            cout << line << endl;       // 输出读取的数据
        }
        file.close();                   // 关闭文件
    } else {
        cout << "无法打开文件。" << endl;
    }

    return 0;
}

在上述示例中,我们使用ifstream类创建了一个文件流对象file,并将其与文件example.txt关联。然后,我们使用getline函数逐行读取文件内容,并将每行数据输出到控制台。

✨二进制文件

二进制文件是由二进制数据组成的文件,不能直接用文本编辑器打开查看。在C++中,我们可以使用文件流进行二进制文件的读写操作。

🔏 写文件

要向二进制文件写入数据,我们需要使用ofstream类创建一个文件流对象,并将其与文件关联。然后,可以使用write函数将数据写入文件。

示例:

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

int main() {
    ofstream file("data.bin", ios::binary);   // 打开二进制文件 data.bin,用于写入

    if (file.is_open()) {
        int data[] = {10, 20, 30, 40, 50};
        int size = sizeof(data) / sizeof(data[0]);
        file.write(reinterpret_cast<char*>(&data), sizeof(data));    // 写入数据
        file.close();                                               // 关闭文件
        cout << "二进制文件写入成功。" << endl;
    } else {
        cout << "无法打开文件。" << endl;
    }

    return 0;
}

在上述示例中,我们向二进制文件data.bin写入了一个整型数组。

🔏 读文件

要从二进制文件读取数据,我们需要使用ifstream类创建一个文件流对象,并将其与文件关联。然后,可以使用read函数从文件中读取数据。

示例:

#include <iostream>
#include <fstream>
using namespace

 std;

int main() {
    ifstream file("data.bin", ios::binary);   // 打开二进制文件 data.bin,用于读取

    if (file.is_open()) {
        int data[5];
        file.read(reinterpret_cast<char*>(&data), sizeof(data));    // 读取数据
        file.close();                                               // 关闭文件

        int size = sizeof(data) / sizeof(data[0]);
        for (int i = 0; i < size; i++) {
            cout << data[i] << " ";     // 输出读取的数据
        }
        cout << endl;
    } else {
        cout << "无法打开文件。" << endl;
    }

    return 0;
}

在上述示例中,我们从二进制文件data.bin中读取了一个整型数组,并将其输出到控制台。

🔚总结

本次学习笔记介绍了C++中的文件操作。我们学习了文本文件和二进制文件的读写操作。通过文件流,我们可以方便地进行文件的输入输出,并且可以根据需要选择适合的读写模式。

文件操作在实际开发中非常常见,可以用于读取配置文件、保存数据等应用场景。掌握文件操作的基础知识对于提高程序的功能和灵活性非常重要。

希望本次学习对你有所帮助,继续加油!🚀

⭐️希望本篇文章对你有所帮助。

⭐️如果你有任何问题或疑惑,请随时向提问。

⭐️感谢阅读!文章来源地址https://www.toymoban.com/news/detail-516474.html

到了这里,关于09-C++学习笔记-文件操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言——文件操作_学习笔记

    如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行 持久化的保存 ,我们可以使用文件。 C语言文件操作的意义在于实现数据的持久化,以便于数据的读取、

    2024年02月07日
    浏览(39)
  • React学习笔记09- 事件处理

    React采用on+事件名的方式来绑定一个事件,注意,这里和原生的事件是有区别的,原生的事件全是小写 onclick , React里的事件是驼峰 onClick ,React的事件并不是原生事件,而是合成事件。   事件回调的几种写法 这种写法需要用bind处理回调函数不然获取不到this 这种写法不需要用

    2024年02月08日
    浏览(44)
  • 银河麒麟操作系统基础学习笔记十三

    tar可以将很多文件打包成一个文件,目录也可以。bzip2和gzip只能压缩单个文件。 bzip2程序能提供比gzip更高的压缩比,是gzip的升级版,推荐使用bzip2进行压缩。

    2024年02月12日
    浏览(54)
  • 【操作系统学习笔记】文件管理1.5

    参考书籍: 王道考研 视频地址: Bilibili 逻辑结构: 从用户角度看,由创建文件的用户自己设计的 无结构文件 有结构文件 顺序文件 顺序存储 链式存储 索引文件 索引顺序文件 物理结构: 从操作系统看,由操作系统决定 连续分配 链接分配 索引分配

    2024年03月09日
    浏览(61)
  • web安全学习笔记【09】——算法2

    基础 [1]  入门-算法逆向散列对称非对称JS源码逆向AESDESRSASHA #知识点: 1、Web常规-系统中间件数据库源码等 2、Web其他-前后端软件Docker分配站等 3、Web拓展-CDNWAFOSS反向负载均衡等 ----------------------------------- 1、APP架构-封装原生态H5flutter等 2、小程序架构-WebH5JSVUE框架等 -------

    2024年01月24日
    浏览(36)
  • python 学习笔记(4)—— webdriver 自动化操作浏览器(基础操作)

    安装 web driver:         使用 driver 前,需要下载与浏览器版本相对应的 driver。如要在 Chrome 浏览器上操作,就要下载Chrome Driver。 几个常用浏览器的参考和下载地址: Edge Driver :https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ Chrome Driver :https://sites.google.com/chromium.

    2024年02月09日
    浏览(47)
  • 【2023年09月28日】stf61-测试基础第一天笔记

    stf61-测试基础第一天笔记 计算机既可以做数值运算,也可以做逻辑运算。 数值运算:加减乘除等针对数值的操作 逻辑运算:运算结果是真或者假的这一类运算,多用于条件判断 举例: a=10,b=20 如果ab并且a0,那么就执行a+b的操作,否则执行a-b的操作。 ab并且a0——》逻辑运算

    2024年02月08日
    浏览(39)
  • 【C进阶】文件操作(上)--(详解、非常适合基础入门学习)

    目录 1. 为什么使用文件 2. 什么是文件  2.1 程序文件 2.2 数据文件 2.3 文件名  3. 文件的打开和关闭💢 3.1 文件指针1️⃣ 3.2 文件的打开和关闭2️⃣  ⭕相对路径  ⭕绝对路径 4. 文件的顺序读写 1.fputc写文件--字符输出函数 2.fgetc(pf)读文件--字符输入函数 3.fputs--文本行输出函数

    2024年02月09日
    浏览(39)
  • 从零开始学习Netty - 学习笔记 - NIO基础 - ByteBuffer: 简介和基本操作

    1.1. Channel Buffer Channel 在Java NIO(New I/O)中,“Channel”(通道)是一个重要的概念,用于 在非阻塞I/O操作中进行数据的传输 。Java NIO提供了一种更为灵活和高效的I/O处理方式,相比于传统的I/O,它具有更好的性能和可扩展性。 常见的Java NIO中的通道类型: FileChannel(文件通道

    2024年02月20日
    浏览(45)
  • 【Java基础学习打卡09】JRE与JDK

    本文将介绍 JRE、JDK 是什么,以及 JDK、JRE 和 JVM 三者之间的关系。 JRE 全称为 Java Runtime Environment,是 Java 应用程序的运行时环境。JRE 包括 Java 虚拟机(JVM)、Java 核心类库和支持文件。 在 Java 应用程序运行时,JVM 在内存中执行 Java 程序的字节码,核心类库提供了常用的类和

    2024年02月09日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包