Linux文件操作

  • Linux文件
    • Linux下的文件類型
      • b 塊設備文件---->存儲類設備(硬盤)
      • c 字符設備文件--->輸入輸出設備
      • d 目錄文件--->文件夾
      • - 普通文件--> xxx.c xxx.h xxx.txt xxx.jpg xxx.mp4 a.out
      • l 軟鏈接文件-->快捷方式
      • s 套接字文件-->網絡通信
      • p 管道文件-->進程之間共享數據
    • 文件操作思想
      • 打開文件
      • 讀寫文件
      • 關閉文件
    • 文件操作的方法
      • I :input O :output
      • 標準IO
        • C庫提供的一套對文件操作的操作方法--->庫函數
      • 文件IO
        • Linux內核提供的一套對文件操作的操作方法--->系統調用
    • 流:字節流
      • 文件流:數據從文件流入流出體現出來的字節流
      • 標準IO:
        • FILE--->文件流
        • FILE *--->文件流指針--->已打開文件
  • 一、標準IO
    • 打開文件 fopen
    • 讀/寫文件 fgetc/fputc(一個字符的讀寫)、fgets/fputs(一行字符的讀寫)、fread/fwrite
    • 關閉文件 fclose
    • man手冊
      • 第一章節:Linux命令
      • 第二章節:系統調用
      • 第三章節:庫函數
    • fopen:FILE *fopen(const char *pathname, const char *mode)
      • 功能:打開一個文件并獲得一個文件流指針
      • 參數:
        • pathname:打開得文件的文件名地址
        • mode:打開的方式
        • "r"以只讀的方式打開 文件必須存在
        • "r+"以讀寫的方式打開 文件必須存在
        • "w"以只寫的方式打開 文件存在則清空 文件不存在則創建
        • "w+"以讀寫的方式打開 文件存在則清空 文件不存在則創建
        • "a"以追加寫的方式打開 文件不存在創建
        • "a+"以讀寫的方式打開 文件不存在創建 文件存在則追寫
      • 返回值:成功:文件流指針:FILE *;失敗:NULL
    • fputc int fputc(int c,FILE *stream)
      • 功能:向文件中寫入一個字符
      • 參數:c:要寫入的字符;stream:要寫入的文件的文件流指針
      • 返回值:成功:寫入的字符的ASCII值;失敗:EOF(-1)
    • fgetc :int fgetc(FILE *stream);
      • 功能:從文件中讀取一個字符
      • 參數:stream:要讀取的文件的文件流指針
      • 返回值:成功:讀到的字符的ASCII值;失敗:EOF;讀到文件末尾:EOF
    • fputs : int fputs(const char *s,FILE *stream);
      • 功能:向文件中寫入字符串(不會寫入字符
      • 參數:s:字符串首地址;stream:要寫入的文件流指針
      • 返回值:成功:非負的整形數據;失敗:EOF(-1)
    • fgets : char *fgets(char *s,int size,FILE *stream);
      • 功能:從文件中讀取一行數據
      • 參數:s:用來存放讀取到數據的內存空間首地址; size:希望從文件中讀到的字節數; stream:要讀取的文件流指針
      • 返回值:成功:返回s空間的首地址; 失敗:NULL; 讀到文件末尾:NULL
  • 二、主函數傳參
    • ./a.out aaa bbb --->實參
    • int main(int argc,const char *argv[])
    • 形參:主函數中的參數
    • argc:程序運行時,給主函數傳遞的參數個數 3
    • argv:指針數組:argc個指針,分別指向了給主函數傳遞的實參
      • argv[0]--->"./a.out"
      • argv[1]--->"aaa"
      • argv[2]--->"bbb"
    • 普通文件:
      • 文本文件
      • 二進制文件

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

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

相關文章

Linux epoll 觸發模式詳解:LT vs ET

兩種核心觸發模式 1. 水平觸發 (Level-Triggered, LT) 工作方式: 當文件描述符處于就緒狀態時,epoll 會持續通知 只要狀態未改變,每次調用 epoll_wait 都會返回該描述符 特點: c // 內核處理邏輯 (ep_send_events_proc) if (!(epi->event.events & EPOLLET)) { /…

STM32學習筆記6-TIM-2輸出比較功能

第二部分,定時器的輸出比較功能OC(Output Compare)輸出比較輸出比較可以通過比較CNT與CCR寄存器值的關系,來對輸出電平進行置1、置0或翻轉的操作,用于輸出一定頻率和占空比的PWM波形每個高級定時器和通用定時器都擁有4…

MATLAB核心技巧:從入門到精通

一 1.數值 顯示 格式 format style 設置 eg: pi format longE; or 2.清除指令 clc 清除命令行窗口 clear 清除工作區 cls 3.搜索路徑設置 path(path,E:\ads\) or addpath 4.M文件 用戶把要實現的命令寫在一個以.m為擴展的文件中,然后由matlab系統進行解讀…

AnyDesk遠程工具免費版,v9.5.110綠色便攜版,秒連遠程桌面,剪貼板同步超實用

[軟件名稱]: AnyDesk遠程工具免費版 [軟件大小]: 7.5 MB [軟件大小]: 夸克網盤 | 百度網盤 軟件介紹 AnyDesk 讓遠程工作變得輕而易舉。無論您身處辦公室的另一端還是世界的另一側,只需在設備上下載、安裝并啟動 AnyDesk.exe,即可輕松訪問遠程屏幕。…

AI: 給Gemini CLI配上“說明書”, 精通的GEMINI.md項目記憶

嘿,各位技術同好!今天我們來聊一個能極大提升AI編程助手效率的酷炫功能——Google Gemini CLI 中的 GEMINI.md 文件。 在日常開發中,我們越來越依賴像 Gemini 這樣的 AI 助手來幫我們寫代碼、調試 Bug 甚至重構項目。但大家是否遇到過這種情況…

[激光原理與應用-205]:光學器件 - LD與DFB的比較

一、相同點核心原理均基于半導體材料的受激輻射機制,通過電子-空穴復合產生光子。依賴諧振腔實現光反饋與放大,形成激光振蕩。采用電泵浦方式驅動,電流注入激發載流子,實現粒子數反轉。材料體系主要使用III-V族化合物半導體&#…

Cursor手機版:一半是神,一半是坑

大家好,我是羊仔,專注AI工具、智能體、編程。今天想和大家聊的這個工具,叫Cursor,可能很多朋友已經不陌生了,它作為一款AI原生代碼編輯器,之前可謂是風光無兩。但最近,它又搞了點新花樣&#xf…

康養休閑旅游服務虛擬仿真實訓室:筑牢技能人才培養的數字基石

隨著康養休閑旅游行業數字化、網絡化、智能化發展趨勢的深化,行業對高素質技能人才的實踐能力和數字素養提出了更高要求。康養休閑旅游服務虛擬仿真實訓室作為對接行業需求、創新實踐教學模式的重要載體,正成為中等職業教育康養休閑旅游服務專業人才培養…

【Python 高頻 API 速學 ⑤】

一、為什么把字典和集合放同一篇? ? 底層都是哈希表,API 設計高度對稱。 ? 日常任務無非「讀-寫-去重-集合運算」,這 5 個方法就能打穿。二、三件套 & 二板斧一覽名稱作用返回值原地?dict.get(key, default)安全讀取值或 de…

el-tree方法的整理

1.點擊樹的文字不要收縮僅點擊圖標的時候收縮 expand-on-click-node&#xff1a;是否在點擊節點的時候展開或者收縮節點&#xff0c; 默認值為 true&#xff0c;如果為 false&#xff0c;則只有點箭頭圖標的時候才會展開或者收縮節點。<el-tree:expand-on-click-node"f…

支持多網絡協議的測試工具(postman被無視版)

本文介紹接口調試工具&#xff0c;盡可能覆蓋支持多種網絡協議。寫給一直寫http接口&#xff0c;突然調試其他協議接口的開發 在后端開發中&#xff0c;接口調試工具的選擇取決于網絡協議類型和具體需求。以下是覆蓋多種協議的主流工具分類推薦&#xff0c;附關鍵特點和場景建議…

太陽平近點角詳解:概念、計算與應用

太陽平近點角詳解&#xff1a;概念、計算與應用 1. 基本定義 **太陽平近點角&#xff08;Mean Anomaly&#xff0c;M&#xff09;**是描述天體&#xff08;如地球&#xff09;在其軌道上平均運動位置的角度參數。對于太陽系中的行星或衛星而言&#xff0c;它表示假設天體以恒定…

ruoyi關閉shiro校驗,任何接口可以直接訪問

文章目錄1.找到ShiroConfig.java文件2.上述適用于get請求&#xff0c;post請求如何關閉&#xff1f;1.找到ShiroConfig.java文件 修改代碼 // 原始代碼 filterChainDefinitionMap.put("/**", "user,kickout,onlineSession,syncOnlineSession,csrfValidateFilt…

數據結構進階 詳談紅黑樹

目錄 1. 紅?樹的概念 紅?樹的規則 紅?樹如何確保最?路徑不超過最短路徑的2倍的&#xff1f; 紅?樹的效率&#xff1a; 2. 紅?樹的實現 紅?樹的結構 紅?樹的插? 紅?樹樹插??個值的?概過程 情況1&#xff1a;變? 情況2&#xff1a;單旋變? 情況3&#…

【MySQL】MySQL去重查詢詳解

前言 在日常的數據庫操作中&#xff0c;數據去重是一個非常常見的需求。無論是查詢結果去重、數據清洗&#xff0c;還是統計分析&#xff0c;我們都需要掌握MySQL中的各種去重技術。本文將詳細介紹MySQL中常用的去重關鍵字和操作方法&#xff0c;結合實際業務場景&#xff0c;幫…

Pinterest視覺營銷自動化:亞矩陣云手機實例與多分辨率適配技術

Pinterest月活突破4.5億的視覺經濟時代&#xff0c;多分辨率適配與跨設備一致性成為品牌觸達用戶的核心挑戰。傳統營銷因素材模糊、設備參數固化&#xff08;如固定分辨率1080P&#xff09;、行為機械化&#xff08;如定時批量上傳&#xff09;&#xff0c;導致點擊率低于行業均…

01數據結構-圖的鄰接矩陣和遍歷

01數據結構-圖的鄰接矩陣和遍歷1.圖的遍歷1.1深度優先遍歷1.2廣度優先搜索2.鄰接矩陣的代碼實現1.圖的遍歷 1.1深度優先遍歷 深度優先搜索的過程類似于樹的先序遍歷&#xff0c;首先從例子中體會深度優先搜索&#xff0c;例如下圖1是個無向圖&#xff0c;采用深度優先算法遍歷…

OpenAI發布的GPT-5 更新了哪些內容,它的核心能力有哪些?AI編碼能力這么強,前端程序員何去何從?

目錄**1. GPT-5的核心能力與技術突破****1.1 智能水平的質變****1.2 代碼生成與優化****1.3 上下文處理與長文本能力****1.4 安全與可靠性改進****2. GPT-5的應用場景與案例****2.1 醫療領域****2.2 教育與學習****2.3 企業級應用****2.4 軟件開發****3. 技術細節與創新****3.1…

【無標題】AI 賦能日常效率:實用案例與操作心得分享

大語言模型&#xff08;LLM&#xff09;早已不再是實驗室里的專屬品&#xff0c;而是逐漸滲透到我們工作與生活的方方面面。從繁瑣的文檔處理到復雜的信息篩選&#xff0c;從學習輔助到日常規劃&#xff0c;AI 正以 "微生產力" 的形式重塑我們的效率邊界。本文將分享…

Java-線程線程的創建方式

一.進程和線程進程&#xff1a;進程是資源分配的基本單位&#xff0c;每個進程都有自己獨立的內存空間&#xff0c;可以看作是一個正在運行的程序實例線程&#xff1a;線程是CPU調度的基本單位&#xff0c;屬于進程&#xff0c;一個進程可以包含多個線程。線程共享進程的內存空…