【Linux】文件IO基礎

man手冊

  • 通過man手冊可以獲取詳細的Linux操作命令共有8章,查詢使用man ls即可查詢ls的相應命令,也可以使用相應的章節man 2 open查詢第二章的open如何使用。

常用文件IO函數

功能函數描述實例
打開文件int open(const char *pathname, int flags);打開一個文件,返回文件描述符。-1則打開失敗,可以使用perror來輸出錯誤。pathname是文件路徑,flags指定打開模式(如O_RDONLY只讀、O_WRONLY只寫、O_RDWR讀寫、O_CREAT如果文件不存在則創建也可以使用按位或同時使用不同的權限。int copy=open("a.text",O_WRONLY | O_CREAT,0664);//寫入且創建,文件的rwx權限為664,創建必須加權限或者后期使用chmod 664 a.text
關閉文件int close(int fd);關閉一個文件描述符close(copy);
讀文件ssize_t read(int fd, void *buf, size_t count);從文件描述符fd指向的文件中讀取最多count字節到緩沖區buf中。返回值>0則為實際讀取到的字節數,=0表示已經讀完,-1則表示失敗read(fd,buff,sizeof(buff))
寫文件ssize_t write(int fd, const void *buf, size_t count);write:將緩沖區buf中的最多count字節數據寫入文件描述符fd指向的文件。成功返回寫入的字節數,失敗返回-1write(copy,buff,len);
復制文件描述符、設置/獲取文件的狀態int fcntl(int fd, int cmd, long arg); fd:要操作的文件描述符
cmd:指定要執行的操作類型
F_DUPFD:復制文件描述符。
F_GETFD:獲取文件描述符的標志。
F_SETFD:設置文件描述符的標志,常用于設置close-on-exec標志。
F_GETFL:獲取文件狀態標志,如文件是否為非阻塞模式等。
F_SETFL:設置文件狀態標志。
F_GETLK, F_SETLK, F_SETLKW:與文件鎖操作相關,分別用于獲取、設置或設置帶有阻塞的文件鎖。
fcntl(fd, F_SETFL, fcntl(fd,F_GETFL,0)| O_NONBLOCK) //查詢當前文件描述符的狀態標志,然后在其基礎上增加非阻塞標志,并最終更新文件描述符的屬性,使其變為非阻塞模式。

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

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

相關文章

21data 數據可視化 代碼合集

<!-- <!DOCTYPE html> <html> <head><title>視覺映射和圖例</title><meta charset"utf-8"><script src"echarts.js"></script> </head> <body> <div style"width: 600px;height:4…

電腦視頻錄制工具,推薦3款,讓你的作品更專業!

隨著信息技術的飛速發展&#xff0c;電腦視頻錄制工具在日常工作和娛樂中扮演著越來越重要的角色。它們不僅能幫助我們記錄電腦屏幕上的精彩瞬間&#xff0c;還能為教學、演示、游戲直播等多種場景提供便利。本文將詳細介紹三款電腦視頻錄制工具&#xff0c;并分步驟闡述它們的…

【TB作品】msp430f5529單片機,dht22,煙霧傳感器

功能 //硬件&#xff1a;msp430f5529、dht22、LCD1602、蜂鳴器、煙霧傳感器、藍牙模塊。 //功能&#xff1a;讀取溫濕度、煙霧濃度顯示到屏幕&#xff1b; //按鍵調節三個報警數值&#xff1b; //溫度、濕度、煙霧濃度&#xff0c;任意一個大于報警數值就蜂鳴器報警&#xff1…

如何編輯pdf文件內容?編輯技巧大揭秘,秒變辦公達人!

如何編輯pdf文件內容&#xff1f;在數字化辦公日益普及的今天&#xff0c;PDF文件因其跨平臺、格式穩定的特點&#xff0c;成為我們日常工作和學習中不可或缺的一部分。然而&#xff0c;PDF文件的編輯卻常常令人頭疼&#xff0c;許多人面對需要修改內容的PDF文件時感到無從下手…

【RPG Maker MV 仿新仙劍 戰斗場景UI (九)】

RPG Maker MV 仿新仙劍 戰斗場景UI 九 前言角色戰斗精靈精靈圖設置攻擊 戰斗背景圖 前言 前段天研究并完成了主角人物行走圖部分的開發&#xff0c;完成了對應的8方向行走&#xff0c;及精靈的展示。現在開始重新回到戰斗場景的開發中&#xff0c;回顧下&#xff0c;已完成功能…

如何手動批準內核擴展 Tuxera NTFS for mac內核擴展需要批準 內核擴展怎么打開

在了解如何手動批準內核擴展之前&#xff0c;我們應該先了解什么叫做內核擴展。內核擴展又被稱為KEXT&#xff0c;通過它可以實現macOS系統與軟件組件之間的交互&#xff0c;例如磁盤管理、任務管理和內存管理等等。 kext 是內核擴展&#xff08;Kernel Extension&#xff09;…

【漏洞復現】海康威視綜合安防管理平臺 orgManage/v1/orgs/download 任意文件讀取漏洞復現

0x01 產品簡介 海康威視綜合安防管理平臺是一套“集成化”、“智能化”的平臺,通過接入視頻監控、一卡通、停車場、報警檢測等系統的設備。海康威視集成化綜合管理軟件平臺,可以對接入的視頻監控點集中管理,實現統一部署、統一配置、統一管理和統一調度。 0x02 漏洞概述 海康…

C語言:學生成績管理系統(含源代碼)

一.功能 二.源代碼 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NUM 100 typedef struct {char no[30];char name[10];char sex[10];char phone[20];float cyuyan;float computer;float datastruct; } *student, student1;typ…

滲透測試報告生成工具

目錄 1.前言 1.1 滲透測試報告是什么? 1.2 滲透測試報告的編寫需要考慮以下幾點&#xff1a; 1.3 一份優秀的滲透測試報告應該具備以下特點&#xff1a; 1.4 在編寫滲透測試報告之前&#xff0c;需要進行一些準備工作&#xff1a; 1.5 滲透測試報告一般包括以下部分&…

作為表達式調用時,無法解析類修飾器的簽名。vue3+ts+vite,使用裝飾器時報錯

作為表達式調用時&#xff0c;無法解析類修飾器的簽名。 The runtime will invoke the decorator with 2 arguments, but the decorator expects 1.ts(1238) 頁面也無法打開 解決方案&#xff1a; {"extends": "vue/tsconfig/tsconfig.dom.json","in…

代碼隨想錄算法訓練營Day55 | 583. 兩個字符串的刪除操作 72. 編輯距離 編輯距離總結篇

代碼隨想錄算法訓練營Day55 | 583. 兩個字符串的刪除操作 72. 編輯距離 編輯距離總結篇 LeetCode 583. 兩個字符串的刪除操作 題目鏈接&#xff1a;LeetCode 583. 兩個字符串的刪除操作 思路&#xff1a; 分別刪除 class Solution { public:int minDistance(string word1, …

SEW交頻器 MDX61801110-5A3-4-0T可議價

SEW交頻器 MDX61801110-5A3-4-0T可議價 SEW交頻器 MDX61801110-5A3-4-0T可議價 SEW交頻器 MDX61801110-5A3-4-0T可議價 SEW交頻器 MDX61801110-5A3-4-0T參數表 SEW交頻器 MDX61801110-5A3-4-0T中文說明書 SEW交頻器 MDX61B01110-5A3-4-0T 規格:MOVIDRIVE MDX61B0110-5A3…

【MySQL】探索 MySQL 中的 NVL:使用 IFNULL 和 COALESCE 實現

緣分讓我們相遇亂世以外 命運卻要我們危難中相愛 也許未來遙遠在光年之外 我愿守候未知里為你等待 我沒想到為了你我能瘋狂到 山崩海嘯沒有你根本不想逃 我的大腦為了你已經瘋狂到 脈搏心跳沒有你根本不重要 &#x1f3b5; 鄧紫棋《光年之外》 什么是 NVL…

PyTorch使用tensorboard的SummaryWriter報錯

PyTorch使用tensorboard可以顯示網絡運行情況,但偶爾使用SummaryWriter時遇到Segmentation fault錯誤。 利用python3的faulthandler,可定位到出錯的代碼行,具體操作有兩種方式如下: (1) 在代碼中寫入faulthandler import faulthandler # 在import之后直接添加以下啟用代碼…

探索數據結構:便捷的雙向鏈表

&#x1f511;&#x1f511;博客主頁&#xff1a;阿客不是客 &#x1f353;&#x1f353;系列專欄&#xff1a;漸入佳境之數據結構與算法 歡迎來到泊舟小課堂 &#x1f618;博客制作不易歡迎各位&#x1f44d;點贊?收藏?關注 ?? 前言 前面我們學習了單鏈表&#xff0c;它解…

k8s常用命令(持續更新中)

1. 常用命令 # 查看命名空間下的所有pod kubectl get pod -n 命名空間 # 查看某命名空間下某個pod的日志 kubectl logs -f -n 命名空間 pod名# 查看某命名空間下某pod的詳細信息 kubectl describe pod pod名 -n 命名空間# 查看所有命名空間下pod kubectl pods --all-namespac…

等保測評核心對象概覽及實施要點

等保測評的對象主要包括以下幾個方面&#xff1a; 1. 信息系統&#xff1a;由計算機硬件、網絡和通信設備、計算機軟件、信息資源、信息用戶和規章制度組成的以處理信息流為目的的人機一體化系統。常見的信息系統包括辦公自動化系統(OA)、客戶關系管理系統、進銷存管理系統等。…

ICLR24大模型提示(3/11) | PromptAgent:利用語言模型進行戰略規劃,實現專家級提示優化

【摘要】高效的、針對特定任務的提示通常由專家精心設計&#xff0c;以整合詳細的說明和領域見解&#xff0c;這些見解基于對大型語言模型 (LLM) 的本能和目標任務的復雜性的深刻理解。然而&#xff0c;自動生成這種專家級提示仍然難以實現。現有的提示優化方法往往忽視領域知識…

20240603每日AI------------項目引入Spring Cloud Alibaba AI (二)

項目源碼解析 前端代碼&#xff1a; <div class"container"><h1>Spring Cloud Alibaba AI Example</h1><form id"form"><label for"message">User Message&#xff1a;</label><input type"text&q…

大模型PEFT(一)之推理實踐學習記錄

1. 簡介 多種模型: LLaMA、Mistral、Mixtral-MoE、Qwen、Yi、Gemmha、Baichuan、ChatGLM、Phi等等。集成方法:(增量)預訓練、指令監督微調、獎勵模型訓練、PPO訓練和DPO訓練。多種精度:32比特全參數微調、16比特凍結微調、16比特LORA微調和基于AQLM/AWQ/GPTQ/LLM.int8 的2/4/8…