【C++ 標準流,文件流】

C++ 標準流,文件流

  • ■ 標準輸入,輸出流,
  • ■ 文件流(ofstream寫入,ifstream讀取,fstream創建-寫入-讀取)
    • ■ open()
    • ■ ofstream
    • ■ ifstream
    • ■ 流插入<<
    • ■ 文件位置指針

■ 標準輸入,輸出流,

iostream 標準庫,它提供了 cin 和 cout 方法

■ 文件流(ofstream寫入,ifstream讀取,fstream創建-寫入-讀取)

1. C++ 源代碼文件中包含頭文件 <iostream><fstream>2. 
數據類型描述
ofstream該數據類型表示輸出文件流,用于創建文件并向文件寫入信息。
ifstream該數據類型表示輸入文件流,用于從文件讀取信息。
fstream該數據類型通常表示文件流,且同時具有 ofstream 和 ifstream 兩種功能,這意味著它可以創建文件,向文件寫入信息,從文件讀取信息。

■ open()

void open(const char *filename, ios::openmode mode);

模式標志描述
ios::app追加模式。所有寫入都追加到文件末尾。
ios::ate文件打開后定位到文件末尾。
ios::in打開文件用于讀取。
ios::out打開文件用于寫入。
ios::trunc如果該文件已經存在,其內容將在打開文件之前被截斷,即把文件長度設為 0。

■ ofstream

以寫入模式打開文件,并希望截斷文件,以防文件已存在

ofstream outfile;
outfile.open("file.dat", ios::out | ios::trunc );

■ ifstream

打開一個文件用于讀寫

ifstream  afile;
afile.open("file.dat", ios::out | ios::in );

■ 流插入<<

流插入運算符( << )向文件寫入信息

ifstream  afile;
afile.open("file.dat", ios::out | ios::in );

示例一:

#include <fstream>
#include <iostream>
using namespace std;int main ()
{char data[100];// 以寫模式打開文件ofstream outfile;outfile.open("afile.dat");cout << "Writing to the file" << endl;cout << "Enter your name: "; cin.getline(data, 100);// 向文件寫入用戶輸入的數據outfile << data << endl;cout << "Enter your age: "; cin >> data;cin.ignore();// 再次向文件寫入用戶輸入的數據outfile << data << endl;// 關閉打開的文件outfile.close();// 以讀模式打開文件ifstream infile; infile.open("afile.dat"); cout << "Reading from the file" << endl; infile >> data; // 在屏幕上寫入數據cout << data << endl;// 再次從文件讀取數據,并顯示它infile >> data; cout << data << endl; // 關閉打開的文件infile.close();return 0;
}
當上面的代碼被編譯和執行時,它會產生下列輸入和輸出:$./a.out
Writing to the file
Enter your name: Zara
Enter your age: 9
Reading from the file
Zara
9

■ 文件位置指針

istream 和 ostream 都提供了用于重新定位文件位置指針的成員函數。
這些成員函數包括關于
istream 的 seekg(“seek get”)
ostream 的 seekp(“seek put”)
seekg 和 seekp 的參數通常是一個長整型。

// 定位到 fileObject 的第 n 個字節(假設是 ios::beg)
fileObject.seekg( n );// 把文件的讀指針從 fileObject 當前位置向后移 n 個字節
fileObject.seekg( n, ios::cur );// 把文件的讀指針從 fileObject 末尾往回移 n 個字節
fileObject.seekg( n, ios::end );// 定位到 fileObject 的末尾
fileObject.seekg( 0, ios::end );

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714415.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714415.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714415.shtml

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

相關文章

SpringBoot系列(一):SpringBoot介紹

SpringBoot系列(一)&#xff1a;SpringBoot介紹 1. SpringBoot介紹 SpringBoot是由Pivotal團隊提供的一套用于構建微服務的基礎框架&#xff0c;它旨在簡化Spring應用程序的創建和開發過程。 SpringBoot通過設計大量的自動化配置等方式來簡化Spring原有樣板化的配置&#xff…

用Visual Studio 2015成功編譯、發布UMDF驅動到目標機!!

開發工具&#xff1a;Visual Studio 2015企業版 主 機&#xff1a;windows10 X64企業版&#xff0c;主機是安裝了Visual Studio 2015的操作系統&#xff0c;主要進行驅動開發和調試。 目 標 機&#xff1a;windows10 X86企業版&#xff0c;目標機是安裝和調試驅動的操作…

阿里巴巴面試必備:數據庫集群知識全面解讀!

大家好,我是小米。今天,我們將深入探討阿里巴巴面試題中一個備受關注的話題:數據庫集群。作為技術領域中的一項重要實踐,數據庫集群不僅是企業架構中的核心組成部分,更是保障系統穩定性和數據可靠性的關鍵一環。讓我們一起來揭秘數據庫集群的奧秘吧! 主從復制過程 主從…

文件操作(超詳細版本)

本章重點 為什么使用文件什么是文件文件的打開和關閉文件的順序讀寫文件的隨機讀寫文件讀取結束的判定 為什么使用文件 我們前面學習結構體時&#xff0c;寫通訊錄的程序&#xff0c;當通訊錄運行起來的時候&#xff0c;可以給通訊錄中增加、刪除數 據&#xff0c;此時數據是…

手勢識別應用介紹

目錄 一、功能介紹 二、安裝部署說明 2.1 文件目錄說明 2.2 手勢識別部分 一、功能介紹 這是一個通過攝像頭捕獲手勢&#xff0c;根據不同的手勢來做出不同操作的計算機程序。目前可以識別9種手勢&#xff0c;可以根據識別到的手勢&#xff0c;進行打開應用、增大音量、減小音量…

[AIGC] 請舉例說明在運行時讀取注解的應用場景。

很高興你對于在運行時讀取注解的應用場景感興趣。以下是我為你整理的一些典型場景&#xff1a; 1. Spring框架 Spring框架廣泛地使用了運行時注解。例如Autowired注解&#xff0c;它可以在運行時實現依賴注入的功能。Spring在啟動時&#xff0c;會通過反射機制尋找到被Autowi…

mkfs.ext4 --- 對磁盤設備進行Ext4格式化

mkfs.ext4命令來自于英文詞組“make filesystem Ext4”的縮寫&#xff0c;其功能是用于對磁盤設備進行Ext4格式化的操作。 mkfs.ext4 參數-b block-size 塊大小&#xff08;1k,2k,4k&#xff09; -c 壞塊測試 -l filename從文件讀壞塊列表 -C cluster-size 簇大小 (大塊分配持性…

交友社交軟件開發-php交友聊天系統-

為了開發一個高效的交友系統&#xff0c;需要一個完善的信息管理和篩選機制。這個系統應該能夠根據用戶的個人信息、興趣愛好、價值觀等標準進行篩選&#xff0c;并向用戶提供符合他們要求心儀的人的信息。為了實現這個目標&#xff0c;系統可以利用人工智能技術&#xff0c;分…

MySQL基礎-----SQL語句之DDL語句

目錄 前言 開啟登錄數據庫 一、數據庫操作 1.查詢所有數據庫 2.切換使用數據庫 3.查詢當前使用的數據庫 4.創建數據庫 創建一個hello數據庫, 使用數據庫默認的字符集。 創建一個itheima數據庫&#xff0c;并且指定字符集 5.刪除數據庫 二、表操作 1.查詢當前數據庫所有…

JAVA的學習日記

JAVA的學習日記&#xff08;2024.3.1&#xff09;&#xff08;b站韓順平老師課程學習筆記版&#xff09; ps:撿起忘光光的Java語言 Sublime //1. public是公有&#xff0c;class是類 //2. public class Hello表示Hello是一個類&#xff0c;是一個public公有的類 //3. Hello{…

解決Unable to load class ‘org.gradle.api.attributes.VerificationType‘

在使用AdnroidStudio開發過程中難免會遇到Unable to load class org.gradle.api.attributes.VerificationType報錯&#xff0c;可以嘗試清理緩存重啟解決 打開 File-》Invalidate Caches... 重啟AndroidStudio后&#xff0c;重新加載即可&#xff0c;但也不是百分百解決。

【MySQL】:高效利用MySQL函數實用指南

&#x1f3a5; 嶼小夏 &#xff1a; 個人主頁 &#x1f525;個人專欄 &#xff1a; MySQL從入門到進階 &#x1f304; 莫道桑榆晚&#xff0c;為霞尚滿天&#xff01; 文章目錄 &#x1f4d1;前言一. MySQL函數概論二. 字符串函數三. 數值函數四. 日期函數五. 流程函數&#x1…

基于NSFW數據集的違規圖片檢測系統

目錄 一、功能介紹 二、安裝部署說明 2.1數據集簡介 2.2文件目錄說明 一、功能介紹 本程序是一個違規圖片檢測系統&#xff0c;能夠識別用戶上傳的信息圖片&#xff0c;是否包含有敏感&#xff08;NSFW&#xff0c;Not Safe For Work&#xff09;信息。 本程序使用雅虎開源的NS…

前后端分離開發

目錄 前言 一、前后端分離開發 1. 介紹 2. 開發流程 3. 前端技術棧 &#xff08;1&#xff09;開發工具: &#xff08;2&#xff09;技術框架: 二、Yapi 1. 介紹 2. 使用 &#xff08;1&#xff09;準備 &#xff08;2&#xff09;定義接口 &#xff08;3&#x…

芯科科技為全球首批原生支持Matter-over-Thread的智能鎖提供強大助力,推動Matter加速成為主流技術

智能鎖領域的先鋒企業U-tec和Nuki選擇芯科科技解決方案&#xff0c;成為Matter-over-Thread應用的領先者 致力于以安全、智能無線連接技術&#xff0c;建立更互聯世界的全球領導廠商Silicon Labs&#xff08;亦稱“芯科科技”&#xff0c;NASDAQ&#xff1a;SLAB&#xff09;今…

2024廣東水展即將開幕 | 聚焦凈水行業熱點搶占行業新機遇

2024廣東水展即將開幕 | 聚焦凈水行業熱點搶占行業新機遇 隨著消費升級和人們對環境健康的意識增強&#xff0c;人們除了關注凈水產品的性能外&#xff0c;對產品的設計、服務、多應用場景化等需求也愈發多樣化。節能環保、智能化成為產品迭代升級主要方向。據奧維云網數據顯示…

Docker中使用Tomcat并部署war工程

系列文章目錄 文章目錄 系列文章目錄前言一、構建鏡像二、運行鏡像三、列出正在運行的容器四、停止正在運行的容器 前言 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站&#xff0c;這篇文…

物聯網技術助力智慧城市安全建設:構建全方位、智能化的安全防護體系

一、引言 隨著城市化進程的加速和信息技術的迅猛發展&#xff0c;智慧城市已成為現代城市發展的重要方向。在智慧城市建設中&#xff0c;安全是不可或缺的一環。物聯網技術的快速發展為智慧城市安全建設提供了有力支持&#xff0c;通過構建全方位、智能化的安全防護體系&#…

Kali Linux 安裝 + 獲取 root 權限 + 遠程訪問

一、什么是Kali kali是linux其中一個發行版&#xff0c;基于Debian&#xff0c;前身是BackTrack&#xff08;簡稱BT系統&#xff09;。kali系統內置大量滲透測試軟件&#xff0c;可以說是巨大的滲透系統&#xff0c;涵蓋了多個領域&#xff0c;如無線網絡、數字取證、服務器、密…

Python讀取hbase數據庫

1. hbase連接 首先用hbase shell 命令來進入到hbase數據庫&#xff0c;然后用list命令來查看hbase下所有表&#xff0c;以其中表“DB_level0”為例&#xff0c;可以看到庫名“baotouyiqi”是拼接的&#xff0c;python代碼訪問時先連接&#xff1a; def hbase_connection(hbase…