国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C/C++文件操作(細(xì)節(jié)滿滿,part1)

這篇具有很好參考價值的文章主要介紹了C/C++文件操作(細(xì)節(jié)滿滿,part1)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

個人主頁:

仍有未知等待探索_C語言疑難,數(shù)據(jù)結(jié)構(gòu),PTA-CSDN博客

專題分欄:

C語言疑難_仍有未知等待探索的博客-CSDN博客

目錄

一、引言?

二、什么是文件?

1、程序文件

2、數(shù)據(jù)文件

3、文件名?

4、文件路徑?

1.相對路徑

2.絕對路徑

三、文件的打開和關(guān)閉?

1、文件操作的大體流程

2、文件的類型

3、文件打開函數(shù)(fopen)?

1.功能?

2.參數(shù)

3.文件的打開方式

4.fopen函數(shù)的使用?

4、文件關(guān)閉函數(shù)(fclose)?

1.功能

2.參數(shù)

3.流的概念

4.fclose函數(shù)的使用


一、引言?

為什么要學(xué)文件操作呢?

我們通過寫這么長時間的代碼,程序數(shù)據(jù)是存放在內(nèi)存中,當(dāng)程序退出的時候,程序數(shù)據(jù)自然就不存在了,等下次運行程序的時候,數(shù)據(jù)又得重新錄入,比較麻煩。而這時候就需要通過將數(shù)據(jù)存在磁盤等方法來使數(shù)據(jù)持久化,這就需要我們對文件進行操作,來儲存數(shù)據(jù)。

二、什么是文件?

磁盤上的就是文件。

文件分為兩種:程序文件和數(shù)據(jù)文件。

1、程序文件

包含:源程序文件(后綴為.c),目標(biāo)文件(windows環(huán)境后綴為.obj),可執(zhí)行程序(windows環(huán)境后綴為.exe)。

2、數(shù)據(jù)文件

文件的內(nèi)容不一定是程序,而是程序運行時讀寫的數(shù)據(jù)。比如程序運行需要從中讀取數(shù)據(jù)的文件,或者輸出內(nèi)容的文件。

3、文件名?

文件名:文件名路徑+文件名主干+文件名后綴

4、文件路徑?

1.相對路徑

假設(shè)文件名為text.txt。

當(dāng)在文件名前加上./操作符的時候,意思是訪問當(dāng)前路徑下的文件。

當(dāng)在文件名前加上../操作符的時候,意思是訪問上一級路徑下的文件。

當(dāng)在文件名前加上../../操作符的時候,意思是訪問上上一級路徑下的文件。(可以疊加)

2.絕對路徑

如:D:\Code\c-language\file\text.txt

三、文件的打開和關(guān)閉?

1、文件操作的大體流程

說了那么多,那我們?nèi)绾斡肅語言程序來對文件進行操作呢?

首先,我們要知道在對文件進行讀和寫操作之前,要先進行文件打開的操作。

然后,我們才進行對文件進行各種操作。

最后,我們既然要打開文件,也必然要關(guān)閉操作。

2、文件的類型

在C語言中,文件也是有自己的類型的。文件的類型是一個結(jié)構(gòu)體類型名字叫做FILE,不過,文件的類型不用我們自己進行編寫,其已經(jīng)由程序員編寫完成,只需要我們來使用。

文件類型的結(jié)構(gòu)體里面都有什么變量,存文件的哪些信息也不需要我們詳細(xì)的知道。

3、文件打開函數(shù)(fopen)?

文件如何打開呢?需要調(diào)用一個函數(shù)fopen。

C/C++文件操作(細(xì)節(jié)滿滿,part1),C語言疑難,c語言,開發(fā)語言

1.功能?

以某種特定的方式來實現(xiàn)文件的打開操作。

2.參數(shù)

filename:文件類型的變量名。

mode:為某種文件打開方式。

3.文件的打開方式

文件使用方式 含義 如果指定文件不存在
“r”(只讀) 為了輸入數(shù)據(jù),打開一個已經(jīng)存在的文本文件 出錯
“w”(只寫) 為了輸出數(shù)據(jù),打開一個文本文件 建立一個新的文件
“a”(追加) 向文本文件尾添加數(shù)據(jù) 建立一個新的文件
“rb”(只讀) 為了輸入數(shù)據(jù),打開一個二進制文件 出錯
“wb”(只寫) 為了輸出數(shù)據(jù),打開一個二進制文件 建立一個新的文件
“ab”(追加) 向一個二進制文件尾添加數(shù)據(jù) 出錯
“r+”(讀寫) 為了讀和寫,打開一個文本文件 出錯
“w+”(讀寫) 為了讀和寫,建議一個新的文件 建立一個新的文件
“a+”(讀寫) 打開一個文件,在文件尾進行讀寫 建立一個新的文件
“rb+”(讀寫) 為了讀和寫打開一個二進制文件 出錯
“wb+”(讀寫) 為了讀和寫,新建一個新的二進制文件 建立一個新的文件
“ab+”(讀寫) 打開一個二進制文件,在文件尾進行讀和寫 建立一個新的文件

4.fopen函數(shù)的使用?

程序員通過給fopen函數(shù)進行傳參(傳:需要打開的文件名和和某種打開方式),然后將返回一個文件的地址,用一個文件指針進行接收。

同樣地,文件的打開操作也會有失敗的時候,當(dāng)文件打開失敗時,fopen函數(shù)會返回空指針。所以我們在對文件進行處理時需要進行判空。

#include<stdio.h>
int main()
{
	//打開文件
	//"w"只寫操作,當(dāng)該路徑下沒有該文件名的文件的時候,會新建一個文件。
	FILE* pf = fopen("text.txt", "w");
	if (pf == NULL)
	{
		perror("fopen");
		return 0;
	}
	else
	{
		//文件處理...
		//關(guān)閉文件
	}
	return 0;
}

4、文件關(guān)閉函數(shù)(fclose)?

文件的關(guān)閉操作同樣地需要一個函數(shù)來完成。

C/C++文件操作(細(xì)節(jié)滿滿,part1),C語言疑難,c語言,開發(fā)語言

1.功能

fclose函數(shù)地功能是將指定的文件關(guān)閉,然后返回一個整數(shù)。當(dāng)文件成功關(guān)閉的時候返回0值,當(dāng)文件關(guān)閉失敗的時候返回EOF。

2.參數(shù)

FILE * stream是一個文件流,也就是所要關(guān)閉的文件。

3.流的概念

流是一個高度抽象的概念。流的出現(xiàn)方便了程序員對于數(shù)據(jù)的存儲。不需要程序員對存入不同設(shè)備的數(shù)據(jù)用不同的方式來存儲,而可以將數(shù)據(jù)放入流中,讓C語言去處理流中的數(shù)據(jù)存入不同的設(shè)備。

C/C++文件操作(細(xì)節(jié)滿滿,part1),C語言疑難,c語言,開發(fā)語言

4.fclose函數(shù)的使用

在使用fclose函數(shù)將文件進行關(guān)閉后,最好將指向這個文件的指針pf置為空,來防止野指針。?

#include<stdio.h>
int main()
{
	//打開文件
	//"w"只寫操作,當(dāng)該路徑下沒有該文件名的文件的時候,會新建一個文件。
	FILE* pf = fopen("text.txt", "w");
	if (pf == NULL)
	{
		perror("fopen");
		return 0;
	}
	else
	{
		//文件處理...
		//關(guān)閉文件
		fclose(pf);
		pf = NULL;
	}
	return 0;
}

謝謝大家的支持!?文章來源地址http://www.zghlxwxcb.cn/news/detail-717311.html

到了這里,關(guān)于C/C++文件操作(細(xì)節(jié)滿滿,part1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 動態(tài)規(guī)劃(一) part1

    動態(tài)規(guī)劃(一) part1

    T1:一個數(shù)組 中的最長 升序 子序列 的長度 給你一個整數(shù)數(shù)組? nums ?,找到其中最長嚴(yán)格遞增子序列的長度。 子序列? 是由數(shù)組派生而來的序列,刪除(或不刪除)數(shù)組中的元素而不改變其余元素的順序。例如, [3,6,2,7] ?是數(shù)組? [0,3,1,6,2,2,7] ?的子序列。 解: 1.關(guān)鍵 (1)

    2023年04月19日
    瀏覽(20)
  • Redis項目 PART1

    Redis項目 PART1

    第一部分:含注冊登入+商戶查詢(使用緩存) 使用redis而不用傳統(tǒng)的session的原因(session共享問題):每個tomcat中都有一份屬于自己的session,假設(shè)用戶第一次訪問第一臺tomcat,并且把自己的信息存放到第一臺服務(wù)器的session中,但是第二次這個用戶訪問到了第二臺tomcat,那么在第

    2024年02月16日
    瀏覽(29)
  • 計算機網(wǎng)絡(luò) Part1

    目錄 計算機網(wǎng)絡(luò)的一些術(shù)語: 計算機網(wǎng)絡(luò)的重點: 整體結(jié)構(gòu)以及HTTP部分一些問題: TCP以及UDP相關(guān)的問題: DNS以及網(wǎng)絡(luò)安全相關(guān)的問題: 1. OSI七層模型的每一層分別是什么?對應(yīng)的協(xié)議有哪些? 傳輸層協(xié)議和網(wǎng)絡(luò)層協(xié)議有什么區(qū)別? ? HTTP協(xié)議為什么設(shè)計為無狀態(tài)的? H

    2024年02月12日
    瀏覽(23)
  • SwiftUI 布局協(xié)議 - Part1

    SwiftUI 布局協(xié)議 - Part1

    今年 SwiftUI 新增最好的功能之一必須是布局協(xié)議。它不但讓我們參與到布局過程中,而且也給了我們一個很好的機會去更好的理解布局在 SwiftUI 中的作用。 早在2019年,我寫了一篇文章 SwiftUI 中 frame 的表現(xiàn) ,其中,我闡述了父視圖和子視圖如何協(xié)調(diào)形成最終視圖效果。那里描

    2024年02月05日
    瀏覽(17)
  • Leetcode with Golang 滑動窗口 Part1

    Leetcode with Golang 滑動窗口 Part1

    滑動窗口的定義: 滑動窗口這一個技巧主要運用于處理數(shù)組問題上,一般用于“子串”問題。精髓是,維護一個里面裝著元素的“窗口”,在將新元素裝進“窗口”的同時,根據(jù)題意,把不符合題意的元素踢出“窗口”。 滑動窗口的模板: 接下來看幾道題目: Leetcode 209.長

    2024年01月19日
    瀏覽(23)
  • 當(dāng)代軟件工程師技術(shù)面試準(zhǔn)備Part1

    當(dāng)代軟件工程師技術(shù)面試準(zhǔn)備Part1

    當(dāng)代軟件工程師技術(shù)面試準(zhǔn)備Part1 一. 編碼 - Leetcode ??? LeetCode 是一個在線的編程練習(xí)平臺,專注于幫助程序員提升他們的編程技能。該平臺提供了大量的算法和數(shù)據(jù)結(jié)構(gòu)問題,涵蓋了各種難度級別,從簡單到困難。LeetCode的主要目標(biāo)是幫助程序員準(zhǔn)備技術(shù)面試,特別是在軟

    2024年02月03日
    瀏覽(22)
  • Python八股文:基礎(chǔ)知識Part1

    Python八股文:基礎(chǔ)知識Part1

    1. 不用中間變量交換 a 和 b 這是python非常方便的一個功能可以這樣直接交換兩個值? 2. 可變數(shù)據(jù)類型字典在for 循環(huán)中進行修改 這道題在這里就是讓我們?nèi)セ卮疠敵龅膬?nèi)容,這里看似我們是在for循環(huán)中每一次加入了都在list中加入了一個字典,然后字典的鍵值對的value每次都加

    2024年04月12日
    瀏覽(14)
  • NzN的數(shù)據(jù)結(jié)構(gòu)--二叉樹part1

    NzN的數(shù)據(jù)結(jié)構(gòu)--二叉樹part1

    ? ? ? ? 你叉叉,讓你學(xué)數(shù)據(jù)結(jié)構(gòu)你不學(xué);你叉叉,讓你看二叉樹你不看。?今天我們來一起學(xué)習(xí)二叉樹部分, 先贊后看是好習(xí)慣 。 ? ????????樹是一種 非線性 的數(shù)據(jù)結(jié)構(gòu),它是由n(n=0)個有限結(jié)點組成一個具有層次關(guān)系的集合。把它叫做樹是因為它看起來像一棵倒掛

    2024年04月13日
    瀏覽(32)
  • 集群配置,hadoop配置過程,細(xì)節(jié)滿滿

    集群配置,hadoop配置過程,細(xì)節(jié)滿滿

    做一個hadoop的配置流程的全記錄,把遇到的問題和細(xì)節(jié)全都記錄了下來。 目錄 1.安裝前準(zhǔn)備 jdk,hadoop安裝包: 2.開始安裝jdk,hadoop 導(dǎo)入安裝包 修改jdk,hadoop文件用戶所屬 配置jdk,hadoop 環(huán)境變量,添加對應(yīng)環(huán)境變量 測試安裝是否成功 ?3.hadoop 集群配置文件 core-site.xml hdfs-

    2024年02月05日
    瀏覽(22)
  • Linux之權(quán)限(內(nèi)容詳細(xì),細(xì)節(jié)滿滿)

    Linux之權(quán)限(內(nèi)容詳細(xì),細(xì)節(jié)滿滿)

    個人主頁:點我進入主頁 專欄分類:C語言初階? ? ??C語言程序設(shè)計————KTV? ? ? ?C語言小游戲? ? ?C語言進階 C語言刷題? ? ? ?數(shù)據(jù)結(jié)構(gòu)初階? ??Linux 歡迎大家點贊,評論,收藏。 一起努力 目錄 一.前言 二.權(quán)限修改的兩種方法 2.1利用字符修改 2.1.1Linux中文件的類型

    2024年01月25日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包