在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C++之文件操作

wang123a ? 來源:wang123a ? 作者:wang123a ? 2023-07-21 10:52 ? 次閱讀

C++中文件操作頭文件:fstream

文件類型:文件文件和二進制文件

文件操作三大類:

ofstream 寫操作
ifstream 讀操作
fstream:讀寫操作

文件打開方式:

標志 說明
ios::in 只讀
ios::out 只寫,文件不存在則創(chuàng)建,存在則打開并截斷原內容
ios::ate 打開一個已有的文件,并指向文件讀指針指向文件尾,若文件不存在,則打開出錯
ios::app 打開文件,從文件尾添加內容,若文件不存在則創(chuàng)建
ios::trunc 打開文件同時會截斷原內容,單獨使用時與ios::out相同
ios::binary 以二進制方式打開
ios::in|ios::out 打開文件,可讀也可寫,文件打開時原內容保持不變,若不存在則打開出錯
ios::in|ios::out|ios::trunc 打開文件,可讀寫,會截斷原內容,文件不存在則創(chuàng)建

1.文本方式寫入示例

#include 
#include 
using namespace std;
int main()
{
	/*1.創(chuàng)建文件*/
	ofstream fp;
	fp.open("test.txt",ios::out);//創(chuàng)建文件,會截斷原內容
	if (!fp.is_open())//文件打開失敗返回false
	{
		cout 

2.文本方式讀取示例

C++中讀取數據有多種方式實現。

2.1 示例1:重載>>讀取

#include 
#include 
using namespace std;
int main()
{
	ifstream ifs;
	ifs.open("test.txt",ios::in);//只讀方式打開
	if (!ifs.is_open())
	{
		cout > str)//以字符串方式讀取
	{
		cout 

2.2 利用成員函數getline讀取

#include 
#include 
using namespace std;
int main()
{
	ifstream ifs;
	ifs.open("test.txt",ios::in);//只讀方式打開
	if (!ifs.is_open())
	{
		cout 

2.3 單個字符方式讀取get()

#include 
#include 
using namespace std;
int main()
{
	ifstream ifs;
	ifs.open("test.txt",ios::in);//只讀方式打開
	if (!ifs.is_open())
	{
		cout 

3.二進制方式讀寫示例

  • 二進制數據寫入文件
函數:write(const _Elem* _Str, streamsize _Count)
 形參:_Str --寫入的內容的起始地址
       _Count  --寫入的字節(jié)數
  • 二進制數據讀取文件
read(_Elem* _Str, streamsize _Count) ;
 形參:_Str --讀取內容存放緩沖區(qū)
       _Count --要讀取的字節(jié)數
#include 
#include 
#include 
using namespace std;
class Person
{
public:
	Person() {}
	Person(const char* name, int age)
	{
		strcpy_s(this->name, name);
		this->age = age;
	}
	char name[20];//姓名
	int age;//年齡
};
int main()
{
	/*二進制寫入數據示例*/
	fstream fs("test.doc", ios::out | ios::binary);
	if (!fs.is_open())
	{
		cout 

4.C++指針偏移

C++文件指針偏移
  seekg(pos_type _Pos,ios_base::seekdir _Way)  --用于輸入流,偏移位置指針到指定位置
  seekp(pos_type _Pos,ios_base::seekdir _Way)  --用于輸出流,偏移位置指針到指定位置
	第一個參數:偏移量
	第二個參數:基于哪個位置
				ios::beg  --文件頭
				ios::end  --文件尾
				ios::cur  --當前位置
  streamoff tellg()  --用于輸入流,返回當前指針位置,streamoff 是一個long long類型
  streamoff tellp()  --用于輸出流,返回當前指針位置
  返回值返回基于文件頭的偏移量,字節(jié)為單位。失敗則返回-1

示例:

#include 
#include 
using namespace std;
int main()
{
	ifstream fs;
	fs.open("test.txt", ios::in );//打開文件,不存在則打開失敗,不會截斷原內容
	if (!fs.is_open())
	{
		cout > buff)
	{
		cout 
wKgZomS4_QKAcX2TAAPAXxnDagM496.png

5.C++中使用fopen系列函數示例

#define _CRT_SECURE_NO_DEPRECATE
#include 
using namespace std;
int main()
{
	cout 
wKgZomS5FoKALLkTAASjGoeV-P4987.png


審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4340

    瀏覽量

    62791
  • C++
    C++
    +關注

    關注

    22

    文章

    2113

    瀏覽量

    73738
  • 文件操作
    +關注

    關注

    0

    文章

    7

    瀏覽量

    5356
  • 頭文件
    +關注

    關注

    0

    文章

    25

    瀏覽量

    9885
收藏 人收藏

    評論

    相關推薦

    C++STL算法(二)

    C++STL算法(二)
    的頭像 發(fā)表于 07-18 14:49 ?1082次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>STL算法(二)

    c++STL算法(三)

    c++STL算法(三)
    的頭像 發(fā)表于 07-18 15:00 ?1329次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>之</b>STL算法(三)

    MSP430裸奔框架C++程序源碼(菜農C++裸奔大法系列之一) 轉載

    /*------------------------------------------------------------------------MSP430裸奔框架C++程序源碼(菜農C++裸奔大法)本程序主要表現了
    發(fā)表于 02-01 11:06

    在main文件中怎樣去使用C++

    ESP32 ESP-IDF 學習筆記(五 - 2)【使用C++的工程】文章目錄ESP32 ESP-IDF 學習筆記(五 - 2)【使用C++的工程】1、導言2、在main
    發(fā)表于 01-07 07:44

    C/C++文件大全

    C/C++文件一覽,一本很好的工具速查手冊
    發(fā)表于 11-10 17:45 ?0次下載

    C++ Builder 操作ini文件讀寫

    C++ Builder 操作ini文件讀寫
    發(fā)表于 12-15 22:50 ?0次下載

    如何在C++代碼中使用C文件

    。 12.3.1 在C++中使用系統C文件 要包括標準的系統 C文件,如 stdio.h,不必進行任何特殊
    發(fā)表于 10-19 09:24 ?3次下載

    虛擬機:使用cscope瀏覽C++文件

    cscope 本意是用來查看c文件的。但是也可以查看C++文件。方法如下:
    的頭像 發(fā)表于 06-22 14:29 ?2117次閱讀
    虛擬機:使用cscope瀏覽<b class='flag-5'>C++</b><b class='flag-5'>文件</b>

    C++操作符重載學習的總結

    操作符重載是c++的強大特性之一;操作符重載的本質是通過函數擴展操作符的功能;operator 關鍵字是實現操作符重載的關鍵。
    的頭像 發(fā)表于 12-24 16:36 ?689次閱讀

    LabVIEW教學數據文件操作

    LabVIEW教學數據文件操作說明。
    發(fā)表于 03-29 15:18 ?29次下載

    C++設計新思維-泛型編程與設計應用

    C++設計新思維-泛型編程與設計應用
    發(fā)表于 11-16 15:59 ?3次下載

    C++入門表達式

    C++中提供了很多操作符且定義了什么時候可以用于操作基本類型,其還允許我們定義用于操作class類型的操作符,接下來幾篇文章將會介紹
    的頭像 發(fā)表于 03-17 13:55 ?822次閱讀

    C++學習筆記c++的基本認識

    自這篇文章我們即將開始C++的奇幻之旅,其內容主要是讀C++ Primer的總結和筆記,有興趣可以找原版書看看,對于學習C++還是有很大幫助的。這篇文章將從一個經典的程序開始介紹C++
    的頭像 發(fā)表于 03-17 13:57 ?749次閱讀

    C++入門通用算法

    C++ 是一種強大的編程語言,它提供了許多通用算法,可以用于各種容器類型。這些算法是通過迭代器來操作容器中的元素,因此它們是通用的,可以用于不同類型的容器。在本篇博客中,我們將詳細介紹 C++ 的通用算法。
    的頭像 發(fā)表于 05-17 09:40 ?692次閱讀

    C++之父新作帶你勾勒現代C++地圖

    為了幫助大家解決這些痛點問題,讓大家領略現代C++美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《
    的頭像 發(fā)表于 10-30 16:35 ?893次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現代<b class='flag-5'>C++</b>地圖
    主站蜘蛛池模板: 一色屋网站| 天天干在线影院| 禁漫羞羞a漫入口| 国产精品莉莉欧美自在线线| 日日日天天射天天干视频| 日本特黄视频| 国产日日操| 在线免费视频网站| 乱人伦精品一区二区| 久久久午夜影院| 中文字幕在线观看亚洲| h视频免费| 中文字幕一精品亚洲无线一区| 超级乱淫片67194免费看| 亚洲一区二区三区中文字幕| 好爽好深太大了再快一点| 一级片免费在线| 日韩在线视频一区| 四虎影视永久在线观看| 一级毛片免费毛片一级毛片免费| 亚洲精品一线二线三线| 自拍偷自拍亚洲精品被多人伦好爽 | 国产精品欧美精品国产主播 | 国产真实乱在线更新| 日本人69xxxxxxx69| 久久99热久久精品动漫| 四虎影视最新网址| 九九涩| 午夜久久久久久| 最新sss华人| 道区二区三区四区| 日本人的色道www免费一区| 国产成人免费无庶挡视频| 国产精品久久久久久久久| 天天涩综合| 国产精品区在线12p| 一区二区三区伦理| 理论片人人51| 天天射日| 亚洲免费在线观看| 三级理论在线观看|