Linux——文件操作

char *getcwd(
  char *buffer,
  int maxlen
);

獲取當(dāng)前工作目錄,將當(dāng)前目錄的絕對路徑復(fù)制到buffer中,maxlen為buffer的空間大小。

include <sys/stat.h>
include <unistd.h>
int stat(
  const char *file,//文件名
  struct stat *buf//保存file信息的結(jié)構(gòu)體
);

struct stat{
  dev_t st_dev;//文件的設(shè)備編號
  ino_t st_ino;//節(jié)點
  mode_t st_mode;//文件類型的存儲權(quán)限
  nlink_t st_nlink;//鏈接到該文件的硬鏈接數(shù)目,剛建立的文件為1
  uid_t st_uid;//用戶ID
  gid_t st_gid;//組ID
  dev_t st_rdev;//(設(shè)備類型)若此文件為設(shè)備文件,則為其設(shè)備編號
  off_t st_size;//文件字節(jié)數(shù)
  unsigend long st_blksize;//塊大小(文件系統(tǒng)的IO緩存區(qū)大?。?  unsigend long st_blocks;//塊數(shù)
  time_t st_atime;//最后一次訪問時間
  time_t st_mtime;//最后一次修改時間
  time_t st_ctime;//最后一次改變時間
};

函數(shù)說明:通過文件名獲取文件信息,并保存在buf指向的結(jié)構(gòu)體中
執(zhí)行成功返回0,失敗返回-1

錯誤代碼 含義
ENOENT filename指定的文件不存在
ENOTDIR 路徑中的目錄存在,但非真正的目錄
ELOOP 準(zhǔn)備打開的文件有過多的符號鏈接問題,符號鏈接上限為16
EFALUT buf為無效指針
EACCESS 存取文件時被拒絕
ENOMEM 核心內(nèi)存不足
ENAMETOOLONG filename的路徑名稱太長

參考:https://www.cnblogs.com/hnrainll/archive/2011/05/11/2043361.html

include <unistd.h>
int access(
   const char *pathname; //要測試的文件,路徑+文件名
   int mode //指定要測試哪種權(quán)限
);
//測試文件權(quán)限
mode的值 含義
F_OK 或0 判斷文件是否存在
R_OK 或4 判斷對文件是否有讀權(quán)限
W_OK或2 判斷對文件是否有寫權(quán)限
X_OK或1 判斷對文件是否有讀寫權(quán)限
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 文件操作 (Linux文件操作)) [文件|目錄] Linux文件操作:為了對文件和目錄進(jìn)程處理,你需要用到系統(tǒng)...
    JamesPeng閱讀 1,609評論 1 5
  • 微信公眾號:軟測小生 ruancexiaosheng文件命名規(guī)則 (1)文件命名規(guī)則Linux系統(tǒng)中的文件名稱最長...
    軟測小生閱讀 783評論 2 2
  • 底層文件訪問 open系統(tǒng)調(diào)用 在遵循POSIX規(guī)范的系統(tǒng)上,使用open系統(tǒng)調(diào)用并不需要包含頭文件sys/typ...
    Select_Ep閱讀 1,527評論 1 3
  • man 查看幫助信息時,可以使用空格鍵翻頁使用 /關(guān)鍵詞 在幫助信息中查找關(guān)鍵詞 系統(tǒng)命令 reboot 重啟電腦...
    停下浮躁的心閱讀 342評論 0 0

友情鏈接更多精彩內(nèi)容