基礎IO相關操作
基礎IO
c語言檔案IO相關操作:
fopen //開啟檔案,以只讀形式
fread //從檔案裡讀取一行
flcose //關閉檔案
fseek //移動跳轉到當前讀寫位置
.
.
. //等等
以上是c庫函式訪問檔案的呼叫介面,在linux下可以採用系統呼叫介面
c 庫中用於描述檔案的是檔案流指標,檔案流指標中還定義了一個緩衝區,我們所說的重新整理緩衝區是庫函式獨有的,這個緩衝區用於將短小資料組合成大資料一次,習慣性寫入檔案,提高效率
而系統呼叫寫沒有這個緩衝區。
在c庫中:
標準輸入————————–stdin
標準輸出 ———————-stdout
標準錯誤輸出 ——————stderr
在系統呼叫中:
標準輸入————————–stdin (0)
標準輸出 ———————-stdout (1)
標準錯誤輸出 ——————stderr(2)
庫函式與系統呼叫介面的關係:上下級呼叫關係:
操作說明
系統呼叫介面如下:
int open (const char* path,int flags)
功能:開啟檔案;
引數:第一個是要開啟的檔案;
第二個是開啟檔案的方式
必選:
(O_RDONLY((只讀),O_WRONLY(只寫),O_RDWR(讀寫))
非必選:
O_CREAT //若檔案存在開啟,不存在則建立
O_EXECL //與O_CREAT同用時,若檔案存在則報錯
O_TRUNC //若檔案存在則將檔案長度截為0
0_APPEND //追加
返回值:失敗返回-1,成功返回檔案描述符
int open (const char* path,int flags, mode_t mode)
功能:建立檔案
引數:第一個引數是要建立的檔案和路徑;
第二個是建立方式:在必選項(O_RDONLY((只讀),O_WRONLY(只寫),O_RDWR(讀寫))後面加上O_CREAT或者O_EXECL;
O_WRONLY|O_CREAT
第三個引數是給檔案的許可權,例如0644;
int read(int fd, char *buf,size_t len)
功能:從fd檔案中讀取len位元組的資料到從buf開始的空間去
引數:第一個是要讀的檔案(描述符);
第二個引數:讀到另外一個空間的地址;
第三個是:所讀資料的大小,以位元組為單位
返回值:成功返回實際讀取的位元組數
int write(int fd ,const char*buf,size_ t len)
功能:往fd所指檔案中寫入到從buf開始的緩衝區中len位元組的資料
返回:實際讀寫長度,出錯返回-1
int close(int fd)
功能:關閉檔案
引數:要關閉的檔案的檔案描述符
int lseek(int fd, off_ t offset,int whence );
功能:用來改變讀寫一個檔案時讀寫指標的位置
引數:第一個是已經開啟的檔案的描述符
offset:讀寫位置的偏移量,由whence來決定
whence:分為三種:SEEK_SET偏移位置為檔案一開始,SEEK_CUR偏移位置為當前位置,SEEK_END偏移位置為檔案內容末尾)
返回值:新的相對於檔案開頭偏移量
舉例說明:
檔案fd內容為“abcdefg”,
int set = lseek(fd, 0, SEEK_END);
write(fd, "hello", 6);
就實現了從檔案原內容末尾寫入(SEK_SET偏移位置為檔案一開始,SEK_CUR偏移位置為當前位置,SEK_END偏移位置為檔案內容末尾)
對檔案操作的程式碼:
相關文章
- 檔案IO中基礎操作
- Java IO的基礎操作書目錄Java
- java基礎相關文章Java
- dart基礎之類介面操作符過載相關Dart
- Redis基礎系列-0x002:KEY相關操作Redis
- Oracle相關基礎知識Oracle
- NIO相關基礎篇一
- NIO相關基礎篇三
- 鎖相關基礎知識
- NIO相關基礎篇二
- [Java基礎]IOJava
- Zookeeper基礎概念及相關原理
- webpack基礎–css相關處理WebCSS
- 【RAC】RAC相關基礎知識
- IO流下:位元組流、流操作規律(java基礎)Java
- activiti6基礎01-如何資料庫操作及相關表資料庫
- 『學了就忘』Linux基礎命令 — 27、搜尋操作相關命令Linux
- File與IO基礎
- common-IO.jar相關JAR
- SSM框架相關基礎面試題整理SSM框架面試題
- java二進位制相關基礎Java
- java基礎部分程式碼相關題Java
- 網路相關基礎概念小結
- 『學了就忘』Linux基礎命令 — 19、目錄操作的相關命令Linux
- 『學了就忘』Linux基礎命令 — 20、檔案操作的相關命令Linux
- MongoDB相關操作MongoDB
- 日期操作相關
- C# 基礎知識系列- 14 IO篇 檔案的操作C#
- 前端資料結構---相關基礎概念前端資料結構
- 網站安全相關的基礎知識網站
- webpack基礎配置與css相關loaderWebCSS
- 資料探勘相關的數學基礎
- 【Linux】基礎IO(下)!!!Linux
- 【Linux】基礎IO(上)!!!Linux
- 有關GIT的幾個基礎操作Git
- 列表及相關操作
- 字典及相關操作
- Cookie的相關操作Cookie