C語言文件編程

C語言文件編程

第一部分 基本概念

1、Linux文件類型

1.-普通文件:存在于外部存儲器中,用于存儲普通數據。 1.txt  1.c  1.mp3  1.mp4
2.d目錄文件:用于存放目錄項,是文件系統管理的重要文件類型。   文件夾
3.p管道文件:一種用于進程間通信的特殊文件,也稱為命名管道FIFO。
4.s套接字文件:一種用于網絡間通信的特殊文件。
5.l鏈接文件:用于間接訪問另外一個目標文件,相當于Windows快捷方式。 軟鏈接  
6.c字符設備文件:字符設備在應用層的訪問接口。  鼠標  鍵盤  觸摸屏    ---普通硬件設備
7.b塊設備文件:塊設備在應用層的訪問接口。   U盤  固態硬盤  磁盤  --存儲容量的硬件設備

2、系統IO與標準IO的關系
在這里插入圖片描述

第二部分 系統IO

3、特點概述
4、open/close 詳解
5、文件描述符本質
6、read詳解
7、write詳解
8、lseek詳解
9、文件位置偏移
10、dup/dup2詳解
在這里插入圖片描述
11、ioctl詳解
12、fcntl詳解
13、mmap詳解
14、錯誤碼處理

第三部分 標準IO

15、特點描述
16、fopen/fclose詳解
17、文件指針本質
18、系統缺省標準文件

在這里插入圖片描述
在這里插入圖片描述
19、fgetc/getc/getchar詳解
20、fputc/putc/putchar詳解
21、feof/ferror詳解
在這里插入圖片描述

22、fgets/gets詳解
23、fputs/puts詳解
24、fread/fwrite詳解
25、fseek/ftell詳解
26、標準IO緩沖類型
27、setbuf/setvbuf詳解

第四部分 文件屬性和目錄操作

28、linux文件組織方式
29、inode剖析
在這里插入圖片描述

30、stat/fstat/lstat詳解
31、結構體stat

struct stat
{dev_t     st_dev;    // 本文件所在的設備的設備號,適用于非設備文件ino_t     st_ino;    // i節點號,相當于身份證號碼mode_t    st_mode;   // 文件類型 + 文件權限nlink_t   st_nlink;  // 文件的別名的數目uid_t     st_uid;    // 文件所有者IDgid_t     st_gid;    // 文件所在組IDdev_t     st_rdev;   // 本文件的設備號,適用于特殊設備文件   off_t     st_size;   // 文件大小blksize_t st_blksize;   blkcnt_t  st_blocks;   // 文件時間戳struct timespec st_atim;  // 最近訪問時間,比如打開看一下文件的時間struct timespec st_mtim;  // 最近修改時間,比如打開并改一下的時間struct timespec st_ctim;  // 最近狀態改變時間,比如修改了文件的權限的時間};

32、設備號
33、文件類型與權限
34、linux文件的setid
35、linux文件的stickybit
36、opendir詳解
37、readdir詳解
38、當前進程路徑
39、chdir詳解

第五部分 日志操作

40、日志級別
41、打開日志
42、寫日志

設備操作-顯示屏

43、LCD基本概念和內存映射
44、自動獲取LCD硬件參數
45、雙緩沖優化圖像效果
46、BMP格式簡介
47、BMP圖片顯示代碼實現
48、JPEG源碼配置編譯和部署
49、JPEG解碼代碼實現

設備操作-觸摸屏

50、輸入子系統和input_event結構體
51、獲取觸摸屏手指滑動軌跡
52、觸摸屏點擊事件封裝

庫的制作與應用

53、庫的基本概念
54、靜態庫和動態庫的區別
55、靜態庫的使用和注意事項
56、動態庫的制作與使用

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

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

相關文章

基于springboot+vue的“漫畫之家”系統

開發語言:Java框架:springbootJDK版本:JDK1.8服務器:tomcat7數據庫:mysql 5.7(一定要5.7版本)數據庫工具:Navicat11開發軟件:eclipse/myeclipse/ideaMaven包:…

全新交友盲盒+付費進群二合一源碼 包含全套源碼+教程

盲盒交友脫單系統源碼,帶教程,免授權這套源碼已經替你們搭建測試過了 附帶進群系統,定位是正常的 申明需要無限回調,沒有回調的搭建出來不能用不要說源碼不能用 全新系統方便大家使用,已經錄制好詳細的教程&#xf…

【Linux】-Spark分布式內存計算集群部署[20]

注意: 本節的操作,需要前置準備好Hadoop生態集群,請先部署好Hadoop環境 簡介 Spark是一款分布式內存計算引擎,可以支持海量數據的分布式計算。 Spark在大數據體系是明星產品,作為最新一代的綜合計算引擎&#xff0c…

閑話 .NET(6):.NET Core 各個版本的特性

前言 之前我們聊了一下 .NET Core 有哪些優勢,.NET Core 發展非常迅速,不過短短幾年,.NET Core 已經發布 .NET 8 了,基本上保持了一年一個版本的速度,每個版本都有自己的獨有特性,下面我們來簡單的盤點一下…

【一篇文章搞定電腦重裝,簡單易懂,速來學習!】

大家好!今天給大家帶來一篇非常實用的文章——電腦系統重裝教程。不管你是電腦小白還是有一定基礎的用戶,這個教程都能滿足你的需求。我們將從前期準備到具體的重裝步驟,一步步教你如何重裝電腦系統。 教程 介紹 [教程名稱]:u盤…

electron-vite-vue配置

1.安裝vite pnpm create vite 2.安裝electron 用npm下載不過來QAQ 下載失敗的話就重新下一遍 cnpm i -D electron 3.安裝concurrently 用來執行多個程序 pnpm i concurrently 4.配置package.json {"name": "demo","private": true,"…

Java學習51-常用類 集合類Collection Arrays數組類

Arrays數組類 & 集合類Collection 內存層面需要針對多個數據進行存儲,此時可以考慮的容器有:數組,集合類 數組Arrays介紹: 數組存儲多個數據方面的特點: 數組一旦初始化,其長度是確定的。 數組中的多…

AIGC行業的發展前景與市場需求

簡介:探討當前時機是否適合進入AIGC行業,考慮行業發展階段和市場需求。 方向一:行業前景 AIGC(人工智能生成內容)行業是近年來隨著人工智能技術的快速發展而興起的一個新興領域,它涉及到使用人工智能技術來…

可視化大屏開發,知道了這些經驗以及解決方案,效率至少提升2倍!(完結篇)

大家好,我是日拱一卒的攻城師不浪,專注可視化、數字孿生、前端、nodejs、AI學習、GIS等學習沉淀,這是2024年輸出的第16/100篇文章; 前言 之前寫了兩篇可視化大屏開發的經驗總結,小伙伴們反應還不錯。 最近&#xff0…

上海企業ESG標準實施啟動儀式暨首屆城市可持續發展北外灘論壇,萊巍爵CEO瞿偉鋒再獲殊榮,綻放異彩

2024年5月20日,上海企業ESG標準實施啟動儀式暨首屆城市可持續發展北外灘論壇在虹口區白玉蘭廣場成功舉行,上海市工業經濟聯合會會長管維鏞,上海市市場監督管理總局副局長王益洋,聯合國工業發展組織投資與技術促進辦公室主任趙曉蕾…

【Flutter】Dialog組件PageView組件

🔥 本文由 程序喵正在路上 原創,CSDN首發! 💖 系列專欄:Flutter學習 🌠 首發時間:2024年5月27日 🦋 歡迎關注🖱點贊👍收藏🌟留言🐾 目…

Shiro+Jwt+Redis

如何整合ShiroJwtRedis,以及為什么要這么做 我個人認為 ①為什么用shiro:“ShiroJwtRedis”模式和“單純的shiro”模式相比,主要用的是shiro里面的登錄認證和權限控制功能 ②為什么用jwt:“ShiroJwt”模式和“ShiroCookie”模式相…

生命在于學習——Python人工智能原理(2.1)

二、機器學習 1、機器學習的定義 機器學習是指從有限的觀測數據中學習出具有一般性的規律,并利用這些規律對未知數據進行預測的方法,通俗的講,機器學習就是讓計算機從數據中進行自動學習,得到某種知識。 傳統的機器學習主要關注…

1分鐘快速掌握JSON格式

文章目錄 先說理論代碼舉例對象型數組型總結 先說理論 下面是JSON的幾種簡單數據類型: 數據類型描述數字型JavaScript中的雙進度浮點類型,通常根據具體情況定義,這里是沒有特殊的整形的。字符串型帶雙引號的Unicode,帶反斜杠轉義布爾型true…

圖形學初識--雙線性插值算法

文章目錄 為什么需要雙線性插值算法?雙線性插值算法是什么?如何雙線性插值?結尾:喜歡的小伙伴可以點點關注贊哦 為什么需要雙線性插值算法? ChatGP回答: 雙線性插值(bilinear interpolation&am…

AI繪畫圖生圖有什么用?

隨著AI滲透到我們生活中的各個角落,AI繪畫圖生圖的出現,更是在藝術領域引起了廣泛的關注和討論。那么,AI繪畫圖生圖究竟有什么作用呢? 首先,AI繪畫圖生圖能夠極大地提高創作效率。傳統的繪畫過程需要藝術家們花費大量的時間和精力…

2024年怎么下載學浪app視頻

想要在2024年緊跟潮流,成為一名優秀的學浪用戶嗎?今天就讓我們一起探索如何下載學浪app視頻吧! 學浪視頻下載工具打包 學浪下載工具打包鏈接:百度網盤 請輸入提取碼 提取碼:1234 --來自百度網盤超級會員V10的分享…

第14章-藍牙遙控小車 手把手做藍牙APP遙控小車 藍牙串口通訊講解

本文講解手機藍牙如何遙控小車,如何編寫串口通信指令 第14章-手機遙控功能 我們要實現藍牙遙控功能,藍牙遙控功能要使用:1.單片機的串口、2.藍牙通信模塊 所以我們先調試好:單片機的串口->藍牙模塊->接到一起聯調 14.1-電腦控制小車 完成功能…

【面試題】MySQL高頻面試題

談一談你對數據庫的理解? 數據庫是一個用于存儲和管理數據的工具,它提供了一種結構化的方式來組織和訪問數據。數據庫可以存儲大量的數據,并且可以通過查詢語言進行檢索、更新和刪除數據。 數據庫的主要目的是提供一個可靠的數據存儲和管理…

使用docker的常用命令示例

命令描述示例注釋docker run創建并啟動一個容器docker run -d -p 80:80 nginx-d代表后臺運行,-p代表端口映射docker ps列出正在運行的容器docker ps無docker ps -a列出所有容器,包括停止的docker ps -a-a代表列出所有容器docker stop停止一個或多個正在運…