readdir() - Unix,Linux系統呼叫 - 技術教學
Tutorials Point


  Unix初學者指南
  Unix Shell程式設計
  高階Unix
  Unix有用參考
  Unix有用資源
  精選閱讀

版權所有 © 2014 tutorialspoint



  首頁     參考文獻     討論論壇     關於TP  

readdir() - Unix,Linux系統呼叫


previous next AddThis Social Bookmark Button

廣告

名稱

readdir - 讀取目錄項

概要

#include <linux/types.h> 
#include <linux/dirent.h> 

int readdir(unsigned int fd, struct dirent *dirp, unsigned int count);

描述

這不是您感興趣的函式。請檢視readdir(3)以瞭解符合POSIX標準的C庫介面。此頁面記錄了裸核心系統呼叫介面,該介面可能會更改,並且已被getdents(2)取代。

readdir() 從fd指向的目錄中讀取一個dirent結構,並將該結構寫入dirp指向的記憶體區域。引數count被忽略;最多讀取一個dirent結構。

dirent結構宣告如下:

struct dirent
{
    long d_ino;                 /* inode number */
    off_t d_off;                /* offset to this dirent */
    unsigned short d_reclen;    /* length of this d_name */
    char d_name [NAME_MAX+1];   /* filename (null-terminated) */
}

d_ino是inode編號。d_off是從目錄開頭到此dirent的距離。d_reclend_name的大小,不包括空終止符。d_name是空終止的檔名。

返回值

成功時,返回1。到達目錄末尾時,返回0。出錯時,返回-1,並相應地設定errno

錯誤

標籤描述
EBADF 無效的檔案描述符fd
EFAULT 引數指向呼叫程序的地址空間之外。
EINVAL 結果緩衝區太小。
ENOENT 沒有這樣的目錄。
ENOTDIR
 檔案描述符不是指向目錄。

符合標準

此係統呼叫是Linux特有的。

備註

Glibc不提供此係統呼叫的包裝器;請使用syscall(2)呼叫它。

參見



previous next Printer Friendly

廣告


  

廣告



廣告
© . All rights reserved.