西南科技大學C++程序設計實驗十二(文件流操作)

一、實驗目的

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.pswp.cn/news/210742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210742.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210742.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybatis-config.xml的配置

1&#xff1a;MyBatis 的常規配置文件 mybatis-config.xml 包含了對 MyBatis 框架的全局配置&#xff0c;下面是一個常見的示例&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD…

Java代碼重構技巧:提高可維護性和可擴展性

引言&#xff1a; 在軟件開發過程中&#xff0c;代碼重構是一項非常重要的任務。通過對代碼進行重構&#xff0c;可以提高代碼的可維護性和可擴展性&#xff0c;減少代碼的復雜度&#xff0c;增加代碼的可讀性和可測試性。本文將介紹一些常用的Java代碼重構技巧&#xff0c;幫助…

HTML中表格的語法及使用(詳解)

Hi i,m JinXiang ? 前言 ? 本篇文章主要介紹HTML中表格的語法及詳細使用以及部分理論知識 &#x1f349;歡迎點贊 &#x1f44d; 收藏 ?留言評論 &#x1f4dd;私信必回喲&#x1f601; &#x1f349;博主收將持續更新學習記錄獲&#xff0c;友友們有任何問題可以在評論區留…

Java集合框架定義以及整體結構

目錄 一、Java集合框架1.1 什么是java集合框架1.2 集合與數組 二、集合框架具體內容2.1 整體框架2.2 遺留類和遺留接口1.3 集合框架設計特點 參考資料 一、Java集合框架 1.1 什么是java集合框架 Java集合框架&#xff08;Java Collections Framework&#xff09;是Java平臺提…

高云GW1NSR-4C開發板上手使用

1.開發板 核心板&#xff0c;主芯片GW1NSR-LV4CQN48P&#xff0c;絲印文字“奧陶紀Octet&#xff0c;QQ群808770961”&#xff1a; 晶振&#xff1a;27MHz&#xff0c;22引腳 兩個按鍵&#xff1a;靠近中間&#xff0c;23引腳&#xff0c;按下為低電平&#xff1b;靠近外側&…

Flink 讀寫 HBase 總結

前言 總結 Flink 讀寫 HBase 版本 Flink 1.15.4HBase 2.0.2Hudi 0.13.0官方文檔 https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/connectors/table/hbase/ Jar包 https://repo1.maven.org/maven2/org/apache/flink/flink-sql-connector-hbase-2.2/1…

[Linux] yum安裝分布式LNMP架構

1. 在一臺主機安裝nginx&#xff08;192.168.136.120&#xff09; 1.1 搭建nginx相關的yum源 cd /yum.repos.d mkdir bak mv *.repo bak vim /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgche…

基于Python+Django+mysql圖書管理系統

基于PythonDjangomysql圖書管理系統 一、系統介紹二、功能展示三、其它系統四、獲取源碼 一、系統介紹 程序開發軟件&#xff1a;Pycharm 數據庫&#xff1a;mysql 采用技術&#xff1a; Django(一個MVT框架&#xff0c;類似Java的SSM框架) 人生苦短&#xff0c;我用Python&a…

【rabbitMQ】rabbitMQ的下載,安裝與配置

目錄 1. 下載Erland 安裝步驟&#xff1a; 配置環境變量&#xff1a; 校驗環境變量配置是否成功 2.下載MQ 安裝步驟&#xff1a; 添加可視化插件 &#xff1a; 啟動&#xff1a; 拒絕訪問 1. 下載Erland 因為rabbitMQ是基于Erland,所以在安裝rabbitMQ之前需要安裝Erla…

WPF(Windows Presentation Foundation)的 ToolBar控件

WPF&#xff08;Windows Presentation Foundation&#xff09;的 ToolBar 是一種用于創建工具欄的控件。 工具欄通常位于應用程序窗口的頂部或側邊&#xff0c;并提供了一組常用的工具按鈕或命令&#xff0c;用于執行特定的操作或訪問特定的功能。 ToolBar 控件是 WPF 中的一個…

【基于NLP的微博情感分析:從數據爬取到情感洞察】

基于NLP的微博情感分析&#xff1a;從數據爬取到情感洞察 背景數據集技術選型功能實現創新點 今天我將分享一個基于NLP的微博情感分析項目&#xff0c;通過Python技術、NLP模型和Flask框架&#xff0c;對微博數據進行清洗、分詞、可視化&#xff0c;并利用NLP和貝葉斯進行情感分…

VoxPoser:使用語言模型進行機器人操作的可組合 3D 值圖

語言是一種壓縮媒介&#xff0c;人們通過它來提煉和傳達他們對世界的知識和經驗。大型語言模型&#xff08;LLMs&#xff09;已成為一種有前景的方法&#xff0c;通過將世界投影到語言空間中來捕捉這種抽象。雖然這些模型被認為在文本形式中內化了可概括的知識&#xff0c;但如…

Vulnhub-DC-6 靶機復現完整過程

一、搭建環境 kali充當攻擊機 ip地址是&#xff1a;192.168.200.14 DC-6充當靶機 &#xff1a; IP地址暫時未知 注意&#xff1a;讓兩臺機器的使用同一種網絡適配器 二、信息收集 1.探索同網段存活的主機、 ①第一種方法 arp-scan -l②第二種方法 netdiscover -i eth0 -…

前端知識筆記(二)———Django與Ajax

特點&#xff1a; 異步提交 局部刷新 例子&#xff1a;github注冊 動態獲取用戶名實時的跟后端確認并實時的展示到前端&#xff08;局部刷新&#xff09; 朝后端發送請求的方式 1.瀏覽器地址欄直接輸入url回車 -----》get請求 2.a標簽的href屬性 -----》get請求 3…

Python ipaddress模塊介紹

目錄 創建 Address/Network/Interface 對象 關于IP版本的說明 IP主機地址 定義網絡 主機接口 審查 Address/Network/Interface 對象 Network 作為 Address 列表 比較運算 將IP地址與其他模塊一起使用 實例創建失敗時獲取更多詳細信息 概述 本文檔旨在簡要介紹 ipaddr…

【大數據-Hadoop】從入門到源碼編譯-概念篇

【大數據-Hadoop】從入門到源碼編譯-概念篇 Hadoop與大數據生態&#xff08;一&#xff09;Hadoop是什么&#xff1f;&#xff08;二&#xff09;Hadoop組成1. HDFS1.1 NameNode&#xff08;nn&#xff09;1.2 DataNode&#xff08;dn&#xff09;1.3 Secondary NameNode&#…

記一次堆內外內存問題的排查和優化

為優化淘寶帶寬成本&#xff0c;我們在網關 SDK&#xff08;Java&#xff09;統一使用 ZSTD 替代 GZIP 壓縮以獲取更高的壓縮比&#xff0c;從而得到更小的響應包。具體實現采用官方推薦的 zstd-jni 庫。zstd-jni 會調用 zstd 的 c 庫。 背景 在性能壓測和優化過程中&#xff0…

React和Preact 這樣處理className更優雅

React和Preact寫className&#xff0c;我不太習慣使用模板字符串&#xff0c;不好看&#xff0c;看起來也不直觀&#xff0c;寫了如下兩個庫&#xff1a; react-runtime-clsx 和 preact-runtime-clsx&#xff0c;來輔助開發&#xff0c;可以更方便的處理className的問題&#x…

nodejs微信小程序+python+PHP北京地鐵票務APP-計算機畢業設計推薦 -安卓

目 錄 摘 要 I ABSTRACT II 目 錄 II 第1章 緒論 1 1.1背景及意義 1 1.2 國內外研究概況 1 1.3 研究的內容 1 第2章 相關技術 3 2.1 nodejs簡介 4 2.2 express框架介紹 6 2.4 MySQL數據庫 4 第3章 系統分析 5 3.1 需求分析 5 3.2 系統可行性分析 5 3.2.1技術可行性&#xff1a;…

STM32F103

提示&#xff1a;來源正點原子&#xff0c;參考STM32F103 戰艦開發指南V1.3PDF資料 文章目錄 前言一、pandas是什么&#xff1f;二、使用步驟 1.引入庫2.讀入數據總結 前言 提示&#xff1a;這里可以添加本文要記錄的大概內容&#xff1a; 開發環境硬件普中科技&#xff0c;接…