C語言---文件操作(1)

1.文件的打開和關閉

fopen有2個參數,第一個是文件的名字,第二個是打開的模式(例如是讀文件還是寫文件)

(1)該文件夾下面沒有data.txt文件,但是我執行了read操作,所以會顯示這樣的錯誤

(2)如果是寫的話,就會創建一個新的文件,不會報錯

(3)每一個被使用的文件都在內存里面開辟了文件信息區,用來保存相關的信息,這些信息放在

結構體里面,一般通過FILE指針維護這個變量,簡稱文件指針;

(4)關閉文件fclose(pf),它的參數就是我們命名的文件指針

(5)我們使用printf,scanf這些函數的時候,當程序開始運行,就會默認的打開3個流--標準輸入流

stdin---標準輸出流stdout---標準錯誤流stderr,所以我們可以直接的輸入輸出,但是對于文件的話,

肯定不能說是默認打開某個文件,所以我們需要人為地進行打開和關閉的操作;

2.文件的讀寫

------fputc/fgetc

(1)順序讀寫:就是把上面的’a''b''c'字符打印到文件里面,放到文件里面

我們也可以使用循環打印字符到相應的文件里面,放到控制臺里面

stdout直接打印到屏幕上面

---------------------------------

讀文件:fopen的第二個參數修改成r

(1)輸出原來的文件里面的內容(把文件內容顯示出來)

(2)從鍵盤上面寫,然后輸出內容,使用stdin(把輸入的內容顯示出來)

---------------------------------------------------------------------------------------------------------------------------------

------fputs/fgets

(1)寫入一行數據,

(2)讀出一行數據

這個里面有3個參數,多了第二個參數,就是讀取的個數,最后會打印num-1個字符,我們寫的是

10,最后輸出了9個文件里面的字符;

一行8個字符,你想讓他讀取10個,他最多會讀取8個,因為遇到斜杠n就會提前結束;

---------------------------------------------------------------------------------------------------------------------------------

------fprintf/fscanf

fprintf和printf的不同就是前面多了個參數,也就是我們定義的文件指針

fscanf也是前面加上一個文件指針

這個里面的輸出也可以使用fprintf(stdout,"%d %f",sa,s.b);

---------------------------------------------------------------------------------------------------------------------------------

------scanf/sprintf

sprintf

就是把所有的內容放到arr數組里面,然后進行打印;

sscanf就是把s里面的東西放到temp這個結構體變量里面,最后printf打印輸出

------辨析總結

---------------------------------------------------------------------------------------------------------------------------------

------fwrite/fread

以二進制的方式進行讀寫

寫進去的是二進制文件,所以我們看不懂

八度進去的東西寫出來,果然讀取進去了,fread的返回值是實際讀取的個數,可能比我們想要讀取的數字小。

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

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

相關文章

『NLP學習筆記』圖解GPT3(How GPT3 Works-Visualizations and Animations)

圖解GPT3(How GPT3 Works-Visualizations and Animations) 文章目錄 一. GPT-1 vs GPT-2 vs GPT-3 vs GPT-3.5 vs GPT-4二. GPT32.1. 訓練動圖2.2. 預測動圖2.3. 代碼生成示例三. 參考文章原作者主頁:Jay Alammar原英文鏈接:How GPT3 Works - Visualizations and Animations …

ApplicationContext容器

ApplicationContext容器 1.概述 ApplicationContext接口代表了一個Spring容器,它主要負責實例化、配置和組裝bean。ApplicationContext接口間接繼承了BeanFactory接口,相較于BeanFactory一些基本的容器功能,ApplicationContext接口是在BeanFactory接口基礎上進行了擴展,增…

SQL 術語:Join 中的 Build 和 Probe 是什么意思?

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

如何在Vue中實現事件處理?

Vue是一種流行的JavaScript框架,廣泛應用于前端開發。在Vue中,事件處理是一個非常關鍵的概念,可以幫助我們實現用戶與頁面的交互,今天我們就來探討一下如何在Vue中實現事件處理。 首先,讓我們先了解一下在Vue中如何綁…

[pdf]《軟件方法》強化自測題業務建模需求分析共191頁,230題

潘加宇《軟件方法》強化自測題業務建模需求分析共191頁,230題,已上傳CSDN資源。 在完成書中自測題基礎上,進一步強化。 也可到以下地址下載: 資料http://www.umlchina.com/url/quizad.html 如果需要網盤提取碼:uml…

【Python】1. 背景知識

認識 Python 計算機基礎概念 什么是計算機? 很多老一輩的人, 管下面這個叫做計算機. 然鵝, 它只是 “計算器”, 和計算機是有很大區別的. 現在我們所說的計算機, 不光能進行算術運算, 還能進行邏輯判斷, 數據存儲, 網絡通信等等功能,。 以至于可以自動的完成非常復雜的工作…

代碼隨想錄day10(2)字符串:反轉字符串Ⅱ (leetcode541)

題目要求:給定一個字符串 s 和一個整數 k,從字符串開頭算起, 每計數至 2k 個字符,就反轉這 2k 個字符中的前 k 個字符。如果剩余字符少于 k 個,則將剩余字符全部反轉。如果剩余字符小于 2k 但大于或等于 k 個,則反轉前…

Spring與Spring Boot:簡化Java開發的革命性框架

Spring與Spring Boot:簡化Java開發的革命性框架 摘要:本文將深入探討Spring與Spring Boot兩個在Java開發領域具有重要地位的框架。我們將了解它們的核心概念、區別、聯系以及在實際項目中的應用。通過本文,您將更好地理解如何使用這兩個框架…

Zookeeper4:Java客戶端、應用場景以及實現、第三方客戶端curator工具包

文章目錄 Java連接Zookeeper服務端依賴代碼使用 應用場景統一命名服務統一配置管理統一集群管理服務器節點動態上下線理解實現模擬服務提供者【客戶端代碼】-注冊服務模擬服務消費者【客戶端代碼】-獲取服務信息進行請求消費 軟負載均衡分布式鎖理解實現 生產集群安裝N臺機器合…

Java中的Collection

Collection Collection 集合概述和使用 Collection集合概述 是單例集合的頂層接口,它表示一組對象,這些對象也稱為Collection的元素 JDK 不提供此接口的任何直接實現.它提供更具體的子接口(如Set和List)實現 創建Collection集合的對象 多態的方式 具體的實現類ArrayList C…

leetcode - 71. Simplify Path

Description Given a string path, which is an absolute path (starting with a slash ‘/’) to a file or directory in a Unix-style file system, convert it to the simplified canonical path. In a Unix-style file system, a period ‘.’ refers to the current di…

MATLAB環境下基于熵的聲納圖像分割算法

聲納圖像作為準確獲取水下信息的重要途徑之一,在國防、軍事、工程等方面發揮著巨大作用。然而,由于水聲信道的復雜多變和聲波本身的傳播損失,聲納圖像往往呈現出分辨率和對比度不高、噪聲干擾嚴重、目標輪廓模糊等特點。 聲納圖像的分割指的…

FCIS 2023網絡安全創新大會:洞察前沿技術,探索安全新境界(附大會核心PPT下載)

隨著信息技術的飛速發展,網絡安全問題日益凸顯,成為全球關注的焦點。作為網絡安全領域的重要盛會,FCIS 2023網絡安全創新大會如期而至,匯聚了全球網絡安全領域的頂尖專家、學者、企業家和政策制定者,共同探討網絡安全的…

備戰藍橋杯————差分數組1

引言 一、差分數組 什么是差分數組 差分數組的作用 Java代碼實現差分數組 二、 區間加法 題目描述 代碼與解題思路 總結 引言 在數字世界的海洋中,數據是構建和優化算法的基石。然而,當我們面對需要頻繁進行區間操作的數組時,傳統的逐元素…

ABAP - SALV教程10 添加可編輯checkbox列

幾乎所有的功能報表都會有那么一個選擇列,問了業務顧問,業務顧問說是用戶不習慣使用報表原生的選擇模式。效果圖SALV的選擇列是通過將列設置成checkbox_hotspot樣式,注冊單擊事件完成勾選功能的。完成步驟 將SEL列設置成checkbox_hotspot樣式…

【筆記】OpenHarmony和HarmonyOS區別及應用開發簡介

一、概念 OpenHarmony(OH) : OpenAtom OpenHarmonyHarmonyOS(HO):開發 | 華為開發者聯盟 (huawei.com) HO當前最高是3.1,在華為mate 60上面也是。關于4.0、5.0和next這類版本說法都是面向用戶的,不是開發人員。對于程序員&#…

Springboot 項目讀取yaml的配置文件信息給靜態方法使用,以及通過配置 ResourceBundle 類讀取config.properties

讀取yaml 的配置文件 配置文件信息 iot_saas_tenement:user_id: 7........8d9bprivate_key: MII.......qQbj_url: http://4.....5:8088project_name: iot_s.......rojectdevice_name: te.....ice 創建一個類 ProxyProperties 讀取配置文件信息,并對外提供get方法 …

內存的檢測與排查

內存🐎的檢測與排查 文章目錄 內存🐎的檢測與排查查殺Java Web filter型內存馬0x01 內存馬簡歷史0x02 查殺思路0x03 內存馬的識別0x04 內存馬的查殺 查殺Java Web filter型內存馬 0x01 內存馬簡歷史 其實內存馬由來已久,早在17年n1nty師傅的…

QT6 libModbus 用于ModbusTcp客戶端讀寫服務端

雖然在以前的文章中多次描述過,那么本文使用開源庫libModbus,可得到更好的性能,也可移植到各種平臺。 性能:讀1次和寫1次約各用時2ms。 分別創建了讀和寫各1個連接指針,用于讀100個寄存器和寫100個寄存器,讀寫分離。 客戶端&am…

物聯網與智慧城市:科技驅動下的城市智能化升級之路

一、引言 隨著科技的不斷進步和城市化進程的加速,物聯網與智慧城市的結合已經成為推動城市智能化升級的關鍵力量。物聯網技術以其強大的連接和數據處理能力,為智慧城市的建設提供了無限可能。本文旨在探討物聯網如何助力智慧城市的構建,以及…