unix檔案操作
檔案操作函式中最重要的六個函式分別是
creat,注意沒有e,
open,close,
read,write,
lseek,
這幾個函式分別位於:
create,open,close位於fcntl標頭檔案中
read,write,lseek位於unistd標頭檔案中
另外還有兩個重要的標頭檔案分別為sys/types和sys/stat,分別為系統基本資料型別標頭檔案和檔案狀態標頭檔案
簡單寫了一個函式
/*檔案操作*/
把一個檔案中的後十個字元列印並且建立一個新檔案將這些字元寫入新檔案中
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
void main(){
int filename;
int i;
char buffer[10];
if((filename = open("/home/yelbosh/desktop/aa.txt",O_RDONLY))<0){
printf("open failed!");
return;
}else{
lseek(filename,-10,SEEK_END);
read(filename,buffer,10);
close(filename);
for(i = 0;i < 10;i++){
printf("%c\n",buffer[i]);
}
}
int cfile;
if((cfile = creat("/home/yelbosh/desktop/tem.txt",664)) < 0)
printf("error");
write(cfile,buffer,10);
close(cfile);
}
結合例項探究下各個函式
cfile = creat("/home/yelbosh/desktop/tem.txt",664)
creat函式,
int creat(const char *pathname, mode_t mode);
返回值:成功返回0,失敗返回-1
(filename = open("/home/yelbosh/desktop/aa.txt",O_RDONLY)
open函式:
int open(const char *pathname, int oflag, … /* mode_t mode */);
返回值:成功返回的失敗返回-1
第三個引數是可選的,注意第二個引數的含義,是開啟的方式,可取的值為:
O_RDONLY、O_WRONLY、O_RDWR,
O_APPEND 每次寫時都追加到檔案尾端
O_CREAT 若檔案不存在則建立它
O_EXCL 如果同時指定O_CREAT,而檔案已經存在,
則出錯,可測試一個檔案是否已經存在
O_TRUNC 如果檔案存在,而且為只讀或只寫成功開啟,則將其長度截短為0
close函式,引數為檔案識別符號,成功返回的失敗返回-1
read(filename,buffer,10);
read函式:
ssize_t read(int filedes, void *buff, size_t nbytes);
引數分別是檔案識別符號,緩衝區指標,緩衝區大小,返回值為實際讀取的位元組數
write(cfile,buffer,10);
write函式
ssize_t write(int filedes, const void *buff, size_t nbytes)
引數同read
相關文章
- UNIX 檔案系統基本操作
- Unix 檔案查詢命令
- unix 檔案清理一例
- NCR Unix 重要日誌檔案
- unix口令檔案介紹(轉)
- UNIX的檔案處理(轉)
- UNIX 中的檔案切割(轉)
- unix下複製檔案(轉)
- UNIX根檔案系統和附加檔案系統
- 檔案操作
- HP-UNIX 建立檔案系統
- Unix 下批量解壓zip檔案
- 去掉檔案中LF(dos->unix)
- unix freebsd 配製檔案(轉)
- C檔案與檔案的操作
- Go檔案操作Go
- 檔案操作(下)
- lua檔案操作
- JAVA 操作檔案Java
- golang操作檔案Golang
- JavaUtils - 檔案操作Java
- C檔案操作
- perl檔案操作
- 【shell 】檔案操作
- java 檔案操作Java
- 2.8檔案操作
- 檔案IO操作
- 05 檔案操作
- linux/unix xfs大檔案系統Linux
- HP-UNIX下建立檔案系統
- Unix/ELF檔案格式及病毒分析(轉)
- Unix檔案安全檢查利器- Tripwire(轉)
- UNIX檔案的SUID/SGID(轉)UI
- Unix/ELF檔案格式及病毒分析 (轉)
- Java檔案操作 讀寫操作Java
- pandas操作csv檔案
- linux 檔案操作Linux
- Git檔案操作(二)Git