C語言檔案與目錄(一)
注意包含標頭檔案
#include <sys/types.h>
#include <sys/stat.h>
1.建立與刪除目錄
在Linux系統中,目錄就是一個資料夾,檔案可以存放在目錄中。目錄是一種特殊的檔案,需要對目錄設定許可權。 建立目錄函式mkdir:函式mkdir可以硬碟中建立一個目錄,相當於mkdir命令。但與mkdir命令不同的是,這裡的操作是用c語言的函式完成目錄建立的。函式的使用方法如下所示。
int mkdir(char* pathname,mode_t mode);
在引數列表中,pathname是一個字串,表示需要建立的目錄路徑。mode是表示許可權的八進位制數字。如果目錄建立成功,則返回整型數0,否則返回整型數-1。要使用這個函式需要在程式中包含“sys/types.h”與“sys/stat.h”兩個標頭檔案。注意:使用mkdir函式建立目錄時需要指定建立的目錄的許可權模式,許可權模式以八進位制的方式給出(以0開頭的四個數字)。
DEMO:
char dir1[255];
char *mainpath="D:\C\test";
strcat(strcpy(dir1,mainpath),"\dir1");
if(mkdir(dir1,0777)==0)
{
printf("created successfully!\n");
}
else
{
printf("Error:%s!\n",strerror(errno));
}
刪除目錄函式rmdir:rmdir函式的作用是刪除一個空目錄。該函式的使用方法如下所示。
int rmdir(char *pathname);
引數pathname是需要刪除的目錄字串指標。如果刪除成功,則返回一個整型0,否則返回-1。
DEMO:
if(rmdir(dir1)==0)
{
printf("removed %s successfully!\n",dir1);
}
else
{
printf("Error:%s!\n",strerror(errno));
}
2.建立與刪除檔案
所謂建立檔案,是指在一個目錄建立一個空檔案,可以檔案可供其他程式的寫入操作。刪除檔案指將無用的檔案從磁碟中刪除無用的檔案。本節將講解檔案的建立與刪除操作。建立檔案函式creat:函式creat的作用是在目錄中建立一個空檔案,該函式的使用方法如下所示。
int creat(char * pathname, mode_t mode);
函式的引數pathname表示需要建立檔案的檔名和目錄名。mode表示這個檔案的許可權。檔案許可權的設定見本章第一節所述。檔案建立成功時返回建立檔案的編號,否則返回-1。
DEMO:
if(create(file1)==-1)
{
printf("Error:%s!\n",strerror(errno));
}
else
{
printf("created %s successfully!\n",file1);
}
刪除檔案函式remove:函式remove的作用是刪除一個檔案。這個函式的使用方法如下所示。
int remove(char *pathname);
引數remove是一個字串,表示需要刪除的目錄。檔案刪除成功則返回0,則否返回-1。要使用這個函式需要在程式的最前面包含下面的標頭檔案#include <stdio.h>。
DEMO:
if(remove(file1)==0)
{
printf("deleted %s successfully!\n",file1);
}
else
{
printf("Error:%s!\n",strerror(errno));
}
3.臨時檔案操作
建立臨時檔案函式mkstemp:所謂臨時檔案,指的是程式執行時為了儲存中間資料建立的檔案。計算機重啟時,這些檔案會自動刪除。如果在程式執行時,需要把檔案短時間的寫到磁碟上,可以使用mkstemp函式建立一個臨時檔案。mkstemp函式的使用方法如下所示。
int mkstemp(char *template);
引數template表示需要建立臨時檔案的檔名字串。檔名字串中最後六個字元必須是XXXXXX。mkstemp函式會以可讀寫模式和0600許可權來開啟該檔案。如果檔案不存在則會建立這個檔案。返回值是開啟檔案的編號,如果檔案建立不成功,則返回-1。 注意:引數template所指的檔名稱字串必須宣告為陣列,用下面這種宣告陣列的方法宣告。char template[] =”template-XXXXXX”;使用下面這種宣告字串的方法宣告的template是不能執行的char *template =
“template-XXXXXX”;
DEMO:
char tem_file[]="template-file";
if(mkstemp(tem_file)==-1)
{
printf("Error:%s!\n",strerror(errno));
}
else
{
printf("created tem_file %s successfully!\n",tem_file);
}
相關文章
- C語言檔案與目錄(二)C語言
- C語言檔案與目錄(三)C語言
- C語言檔案與目錄(五)檔案鎖C語言
- C語言檔案與目錄(四)緩衝區C語言
- C語言remove()函式:刪除檔案或目錄C語言REM函式
- C語言rename()函式:重新命名檔案或目錄C語言函式
- 18、檔案與目錄
- C語言檔案操作C語言
- C語言(檔案操作)C語言
- Linux 檔案與目錄Linux
- C語言知識彙總 | 00-C語言知識彙總目錄C語言
- LINUX學習(一)檔案與目錄操作Linux
- C語言(檔案加解密)C語言解密
- C語言-檔案讀寫C語言
- Go 語言目錄結構與實踐Go
- Linux 檔案與目錄管理Linux
- 刪除目錄及目錄下所有檔案與子目錄 (轉)
- C#快速入門教程(24)—— 路徑、目錄與檔案C#
- 用c語言處理檔案C語言
- C語言 檔案IO的使用C語言
- c語言多檔案編譯C語言編譯
- c語言檔案操作相關C語言
- c語言拷貝檔案程式C語言
- C語言實現檔案加密C語言加密
- C語言 - 標頭檔案包含C語言
- c語言-記錄閱讀《c缺陷與陷阱》C語言
- C語言/C++讀取檔案資訊C語言C++
- linux檔案與目錄管理命令Linux
- Linux檔案與目錄管理(2)Linux
- Linux 檔案與目錄管理(轉)Linux
- C語言判斷檔案存在和建立檔案C語言
- C語言標頭檔案組織與包含原則C語言
- 沒有目錄建目錄,沒有檔案建檔案
- C語言---“C語言 誰與爭鋒?”C語言
- 獲得檔案的大小(c語言)C語言
- 如何組織構建多檔案 C 語言程式(一)
- 目錄與檔案屬性:編寫ls
- 複製目錄下的全部檔案到另一個目錄