西南科技大学C++程序设计实验十二(文件流操作)

news2025/1/25 9:21:43

一、实验目的

1. 熟悉文件的基本操作;

2. 在类中添加打开文件、保存文件、读取文件等处理函数;

二、实验任务

1. 分析完善程序:主函数创建一个文件对象,每次打开文件,在其尾部添加数据。如果文件不存在,则新建该文件。请将空白处需要完善的功能补充完整。

#include <iostream>

#include <fstream> //调用文件类库文件

using namespace std

int main()

{

    std::ofstream fout(“fang.txt”,ios::app); // 使用构造函数创建对象并打开文件

   ____________________//以另外一种方式创建对象并打开,即调用open函数

    fout << "adfwadd" << "," << "\n";

    __________________________//在上一句的基础上输出“Hello world!”

    _________________//关闭文件

    return 0;

}

完善后的程序代码:

#include <iostream>

#include <fstream>

using namespace std;

int main() {

    std::ofstream fout("fang.txt", ios::app); // 使用构造函数创建对象并打开文件

    if (!fout.is_open()) {

        std::cout << "Failed to open file!" << std::endl;

        return -1;

    }

    fout << "adfwadd" << "," << "\n";

    fout << "Hello world!" << std::endl; // 在上一句的基础上输出“Hello world!”

    fout.close(); // 关闭文件

    return 0;

}

实验思考题回答与结果分析:

(1) 程序运行结果:

程序运行结果为向 fang.txt 文件中追加了两行字符串,分别为 "adfwadd," 和 "Hello world!"

(2) 该程序主要运用.........知识点?编程时需要注意什么?(不要抄袭!

该程序主要运用文件流操作的知识点。在编程时需要注意,打开文件时需要判断文件是否成功打开,否则可能会出现写入失败的情况。同时,使用完文件后需要及时关闭文件,否则可能会导致文件被其他程序占用或者文件内容不完整等问题。

2、分析完善程序:主函数创建一个文件对象,打开文件后向文件写入一个字符串。请将空白处需要完善的功能补充完整。

#include <iostream>

#include <fstream> //调用文件类库文件

using namespace std

int main()

{

    const char *url ="http://c.biancheng.net/cplus/";

    fstream fs; //创建一个 fstream 类对象

    fs.open("test.txt", ios::out); //将 test.txt 文件和 fs 文件流关联

    _____________________//向test.txt文件中写入 url 字符串

    fs.close(); //关闭文件

    return 0;

}

完善后的程序:

#include <iostream>

#include <fstream>

using namespace std;

int main() {

    const char* url = "http://c.biancheng.net/cplus/";

    fstream fs; // 创建一个 fstream 类对象

    fs.open("test.txt", ios::out); // 将 test.txt 文件和 fs 文件流关联

    if (!fs.is_open()) {

        std::cout << "Failed to open file!" << std::endl;

        return -1;

    }

    fs << url; // 向 test.txt 文件中写入 url 字符串

    fs.close(); // 关闭文件

    return 0;

}

实验思考题回答与结果分析:

(1) 程序运行结果:

程序运行结果为向 test.txt 文件中写入了字符串 "http://c.biancheng.net/cplus/"。

(2) 该程序主要运用.........知识点?编程时需要注意什么?(不要抄袭!

该程序主要运用文件流操作的知识点。在编程时需要注意,打开文件时需要判断文件是否成功打开,否则可能会出现写入失败的情况。同时,使用完文件后需要及时关闭文件,否则可能会导致文件被其他程序占用或者文件内容不完整等问题。另外,需要注意文件流的打开模式,例如 ios::out 表示输出模式,如果需要读取文件则需要使用 ios::in 模式。

3、分析完善程序:主函数创建一个文件对象,打开文件后从文件读取信息。请将空白处需要完善的功能补充完整。

void main()

{

int a, b;

char c;

ifstream fin(“data.txt”); //创建输入流对象fin与读取文件data.txt关联

if (!fin)

{ // 如果读取失败,打印fail    

cerr << "fail" << endl;

return -1;

}

fin >> a >> c>>b;   //从文件读取的东西写入给变量

___________________________; //将变量的值输出到显示器上

fin.close();       //关闭文件

a++; b++;

cout << "change a = " << a << endl; //将变化后的变量值输出到显示器上

cout << "change b = " << b << endl;

__________________; //创建输出流对象fout与data2.txt文件关联

__________________; //将变量的值写入文data2.txt件

fout.close(); //关闭文件

}

完善后的程序:

#include <iostream>

#include <fstream>

using namespace std;

int main() {

    int a, b;

    char

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1297637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

权威认证!景联文科技入选杭州市2023年第二批省级“专精特新”中小企业认定名单

为深入贯彻党中央国务院和省委省政府培育专精特新的决策部署&#xff0c;10月7日&#xff0c;杭州市经济和信息化委员会公示了2023年杭州“专精特新”企业名单&#xff08;第二批&#xff09;。 根据工业和信息化部《优质中小企业梯度培育管理暂行办法》&#xff08;工信部企业…

我的NPI项目之Android电源系列 -- 关于剩余充满时间的问题(一)

我的新项目是基于高通最新的5G平台&#xff0c;但是由于还没有拿到EVT。所以&#xff0c;就在目旧的平台和OS上进行学习。遇到第一个问题就是插上type-c之后&#xff0c;充满剩余时间异常的问题。 问题描述&#xff0c;在充电过程中&#xff0c;显示充满时间为“0 min left unt…

MSSQL 程序集使用方法

1.C# 写一个程序 1.1新建一个项目【类库【.Net FrameWork】 1.2编写代码 删除 namespace ApiSQLClass { } 代码如下&#xff1a;【具体调用API模式根据具体编写】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.…

重写 AppiumService 类,添加默认启动参数,并实时显示启动日志

一、前置说明 在Appium的1.6.0版本中引入了AppiumService类&#xff0c;可以很方便的通过该类来管理Appium服务器的启动和停止。经过测试&#xff0c;使用该类的实例执行关闭server时&#xff0c;并没有释放端口号&#xff0c;会导致第二次启动时失败。另外&#xff0c;使用该…

9.基于SpringBoot3+I18N实现国际化

1. 新建资源文件 在resources目录下新建目录i18n, 然后 新建messages_en.properties文件 user.login.erroraccount or password error&#xff01;新建messages_zh_CN.properties文件 user.login.error帐户或密码错误&#xff01;2. 新建LocaleConfig.java文件 Configurati…

geolife笔记:整理处理单条轨迹

以 数据集笔记 geolife &#xff08;操作篇&#xff09;_geolife数据集-CSDN博客 轨迹为例 1 读取数据 import pandas as pd data pd.read_csv(Geolife Trajectories 1.3/Data//000/Trajectory/20081023025304.plt,headerNone, skiprows6,names[Latitude, Longitude, Not_Im…

手持式安卓主板_PDA安卓板_智能手持终端方案

手持式安卓主板方案是一种智能终端设备&#xff0c;具备自动对焦和闪光灯功能&#xff0c;可以在昏暗的环境下快速扫描二维码并轻松采集数据。该方案还提供多渠道支付和数据采集功能&#xff0c;为用户提供了便捷的体验。 该方案的产品基于手持式安卓主板&#xff0c;并搭载了八…

如何提高Pycharm的使用体验?

汉化 文件---设置---插件---chinese---安装---重启ide 代码补全 tabnine 文件---设置---插件---tabnine---安装---重启ide 重启ide后生效&#xff0c;补全效果如下 自定义背景 文件---设置---外观---背景图像---选择图片---调整透明度保存即可 设置头部声明 英文版…

JVM学习笔记-如何在IDEA打印JVM的GC日志信息

若要在Idea上打印JVM相应GC日志&#xff0c;其实只需在Run/Debug Configurations上进行设置即可。 拿《深入Java虚拟机》书中的3-7代码例子来演示&#xff0c;如 1 public class JvmTest {2 private static final int _1MB1024*1024;3 public static void main(String…

理解基于 Hadoop 生态的大数据技术架构

转眼间&#xff0c;一年又悄然而逝&#xff0c;时光荏苒&#xff0c;岁月如梭。当回首这段光阴&#xff0c;不禁感叹时间的匆匆&#xff0c;仿佛只是一个眨眼的瞬间&#xff0c;一年的旅程已成为过去&#xff0c;而如今又到了画饼的时刻了 &#xff01; 基于 Hadoop 生态的大数…

快速认识什么是:Docker

Docker&#xff0c;一种可以将软件打包到容器中并在任何环境中可靠运行的工具。但什么是容器以及为什么需要容器呢&#xff1f;今天就来一起学快速入门一下Docker吧&#xff01;希望本文对您有所帮助。 假设您使用 Cobol 构建了一个在某种奇怪风格的 Linux 上运行的应用程序。您…

Spring Boot Async:从入门到精通,原理详解与最佳实践

Spring Boot 的异步功能&#xff08;Async&#xff09;允许我们将某些任务异步执行&#xff0c;而不会阻塞主线程。这对于处理耗时的操作非常有用&#xff0c;如发送电子邮件、生成报表、调用外部 API 等。通过异步处理&#xff0c;我们可以释放主线程&#xff0c;让它继续处理…

【学习笔记】lyndon分解

摘抄自quack的ppt。 这部分和 s a sa sa的关联比较大&#xff0c;可以加深对 s a sa sa的理解。 Part 1 如果字符串 s s s的字典序在 s s s以及 s s s的所有后缀中是最小的&#xff0c;则称 s s s是一个 lyndon \text{lyndon} lyndon串。 lyndon \text{lyndon} lyndon分解&a…

连接Redis报错解决方案

连接Redis报错&解决方案 问题描述&#xff1a;Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝&#xff0c;无法连接。 问题原因&#xff1a;redis启动方式不正确 解决方案&#xff1a; 在redis根目录下打开命令行窗口&#xff0c;输入命令redi…

【SpringBoot】分层解耦

1. 三层架构 Controller&#xff1a;控制层。接收前端发送的请求&#xff0c;调用Service层来进行逻辑处理&#xff08;Service层处理完后&#xff0c;把处理结果返回给Controller层&#xff09;Service&#xff1a;业务逻辑层。处理具体的业务逻辑。调用Dao层&#xff08;逻辑…

旺店通无代码API集成:电商平台的客服系统和营销自动化解决方案

无代码API集成的力量 在数字化转型的浪潮中&#xff0c;电商平台迅速崛起&#xff0c;成为企业不可或缺的销售和市场推广渠道。旺店通企业版奇门以其无代码开发的连接和集成能力&#xff0c;重塑了电商系统的运营模式。无需繁琐的API开发&#xff0c;企业即可实现电商平台与客…

AI:95-基于卷积神经网络的艺术品风格分类

🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的核心代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新…

第一课【习题】HarmonyOS应用/元服务上架

元服务发布的国家与地区仅限于“中国大陆” 编译打包的软件包存放在项目目录build > outputs > default下 创建应用时&#xff0c;应用包名需要和app.json5或者config.json文件中哪个字段保持一致&#xff1f; 发布应用时需要创建证书&#xff0c;证书类型选择什么…

csdn调整样式之居中、空格、换行、字体字号、自动生成目录

文章目录 1、居中2、空格3、换行4、字体字号5、[TOC](文章目录) 自动生成目录6、列表7、分割线8、引用代码 1、居中 <center>文字居中 2、空格 一个空格   &emsp;三个空格一个空格    三个空格 3、换行 <br>你好 4、字体字号 <font color red size…

# K近邻算法 度量距离

K近邻算法 度量距离 欧氏距离(Euclidean distance) 欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义&#xff0c;指在 m m m维空间中两个点之间的真实距离&#xff0c;或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点…