目錄操作與時間程式設計

2021-10-10 14:55:43 字數 1880 閱讀 8311

1.dir *opendir(const char * name)

函式作用:開啟乙個目錄

引數:目錄路徑

返回值:成功返回dir*指標,失敗返回null

2.struct dirent *readdir(dir *)

函式作用:讀取目錄

引數:dir *指標

返回值:返回結構體指標struct dirent*

struct

int stat(const char * file_name,struct stat *buf);

函式作用:查詢檔案資訊

引數:目錄名稱

struct stat *buf:資訊結構體

struct stat

;返回值:成功返回0,失敗返回-1

帶參巨集 無參巨集 巨集描述

s_islnk(mode) s_islnk 判斷是否為鏈結檔案型別

s_isreg(mode) s_isreg 判斷是否為普通檔案型別

s_isdir(mode) s_isdir 判斷是否為目錄型別

s_ischr(mode) s_ischr 判斷是否為字元型裝置型別

s_isblk(mode) s_isblk 判斷是否為塊裝置型別

s_isfifo(mode) s_isfifo 判斷是否為命名管道型別

s_issock(mode) s_issock 判斷是否為套接字型別

如何使用呢:

(1)用帶參巨集

s_isreg(file_info.st_mode)

(2)用相&

file_info.st_mode & s_isreg == 1?

注意:12-15bit是用的s_ifxx,請使用s_isxx

4.(1)int fstat(int fds,struct stat *buf)適用於檔案io獲取屬性引數

(3)int stat(const char * file_name,struct stat *buf);獲取標準io屬性引數

lstat」和「stat」的區別為,當獲取乙個鏈結檔案的屬性時,使用「stat」獲取的為鏈結指向檔案的屬性,使用「lstat」獲取的為鏈結檔案的屬性。因此它是有本事處理符號(軟)鏈結檔案的因此它是有本事處理符號鏈結檔案的簡單的說檔案是符號鏈結,stat才能處理。而lstat可以檢測是否是符號鏈結

5.int mkdir(const char *pathname, mode_t mode); 建立目錄

6.int rmdir(const char *pathname); 刪除目錄

1) date:列印當前的系統時間

2) date -s 20190616:修改日期

3) date -s "20190616 10:39:10":修改日期&&時間

1.time_t time(time_t *t);

獲取秒數,如果 t 並非空指標的話,此函式也會將返回值存到 t 指標所指的記憶體; & null返回值:成功則返回秒數,失敗則返回((time_t)-1)值,錯誤原因存於 errno中。

示例:printf("當前秒數%ld\n",time(null));

2.獲取格林威治時間期(加8小時是背景時間)

示例:struct tm * p = gmtime(&info);

3.獲取當地時間

示例:time_t info = time(null);

Linux 高階程式設計 目錄操作

在 linux 下一切皆是檔案。目錄也是檔案,在glibc中定義了一些對目錄項的操作,例如使用opendir開啟目錄,readdir讀取目錄項等等,這篇文章介紹 linux 目錄相關的概念和操作。就像檔案有專門的資料結構表示一樣,目錄項在核心中也有相關表示。include 目錄結構體 struct ...

Linux程式設計實踐目錄操作

使用者登入後,可以對自己的檔案進行操作。檔案被組織在目錄中 目錄 目錄樹目錄操作命令 列出目錄內容 ls 改變當前目錄 cd 顯示當前目錄 pwd 新建 刪除 目錄 mkdir rmdir 目錄操作命令的工作原理 檔案系統的最頂端是 根目錄。大多數 unix 系統都在根目錄下有 etc home b...

檔案與目錄操作

檔案與目錄操作 使用者的資料和程式大多以檔案的形式儲存。使用者使用linux系統的過程中,需要經常對檔案和目錄進行操作。本章講述了檔案與目錄的基本概念,有關檔案和目錄操作的命令以及如何在linux環境下執行dos命令。檔案與目錄的基本概念 檔案與檔名 在多數作業系統中都有檔案的概念。檔案是linux...