欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言編程中對(duì)目錄進(jìn)行基本的打開關(guān)閉和讀取操作詳解

 更新時(shí)間:2015年09月01日 11:53:15   投稿:goldensun  
這篇文章主要介紹了C語言編程中對(duì)目錄進(jìn)行基本的打開關(guān)閉和讀取操作,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

C語言opendir()函數(shù):打開目錄函數(shù)
頭文件:

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

定義函數(shù):

DIR * opendir(const char * name);

函數(shù)說明:opendir()用來打開參數(shù)name 指定的目錄, 并返回DIR*形態(tài)的目錄流, 和open()類似, 接下來對(duì)目錄的讀取和搜索都要使用此返回值.

返回值:成功則返回DIR* 型態(tài)的目錄流, 打開失敗則返回NULL.

錯(cuò)誤代碼:
1、EACCESS 權(quán)限不足。
2、EMFILE 已達(dá)到進(jìn)程可同時(shí)打開的文件數(shù)上限。
3、ENFILE 已達(dá)到系統(tǒng)可同時(shí)打開的文件數(shù)上限。
4、ENOTDIR 參數(shù)name 非真正的目錄。
5、ENOENT 參數(shù)name 指定的目錄不存在, 或是參數(shù)name 為一空字符串。
6、ENOMEM 核心內(nèi)存不足。

C語言closedir()函數(shù):關(guān)閉目錄
頭文件:

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

定義函數(shù):

int closedir(DIR *dir);

函數(shù)說明:closedir()關(guān)閉參數(shù)dir 所指的目錄流。

返回值:關(guān)閉成功則返回0,,失敗返回-1,,錯(cuò)誤原因存于errno 中。

錯(cuò)誤代碼:EBADF 參數(shù)dir 為無效的目錄流。

范例:參考readir()。

C語言readdir()函數(shù):讀取目錄函數(shù)
頭文件:

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

定義函數(shù):

struct dirent * readdir(DIR * dir);

函數(shù)說明:readdir()返回參數(shù)dir 目錄流的下個(gè)目錄進(jìn)入點(diǎn)。結(jié)構(gòu)dirent 定義如下:

struct dirent
{
  ino_t d_ino; //d_ino 此目錄進(jìn)入點(diǎn)的inode
  ff_t d_off; //d_off 目錄文件開頭至此目錄進(jìn)入點(diǎn)的位移
  signed short int d_reclen; //d_reclen _name 的長(zhǎng)度, 不包含NULL 字符
  unsigned char d_type; //d_type d_name 所指的文件類型 d_name 文件名
  har d_name[256];
};

返回值:成功則返回下個(gè)目錄進(jìn)入點(diǎn). 有錯(cuò)誤發(fā)生或讀取到目錄文件尾則返回NULL.

附加說明:EBADF 參數(shù)dir 為無效的目錄流。

范例

#include <sys/types.h>
#include <dirent.h>
#include <unistd.h>
main()
{
  DIR * dir;
  struct dirent * ptr;
  int i;
  dir = opendir("/etc/rc.d");
  while((ptr = readdir(dir)) != NULL)
  {
    printf("d_name : %s\n", ptr->d_name);
  }
  closedir(dir);
}

執(zhí)行:

d_name : .
d_name : ..
d_name : init.d
d_name : rc0.d
d_name : rc1.d
d_name : rc2.d
d_name : rc3.d
d_name : rc4.d
d_name : rc5.d
d_name : rc6.d
d_name : rc
d_name : rc.local
d_name : rc.sysinit

相關(guān)文章

  • C語言中的運(yùn)算符優(yōu)先級(jí)和結(jié)合性一覽表

    C語言中的運(yùn)算符優(yōu)先級(jí)和結(jié)合性一覽表

    這篇文章主要介紹了C語言中的運(yùn)算符優(yōu)先級(jí)和結(jié)合性一覽表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言實(shí)現(xiàn)簡(jiǎn)單的文本編輯器

    C語言實(shí)現(xiàn)簡(jiǎn)單的文本編輯器

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)單的文本編輯器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 基于OpenCV和C++ 實(shí)現(xiàn)圖片旋轉(zhuǎn)

    基于OpenCV和C++ 實(shí)現(xiàn)圖片旋轉(zhuǎn)

    這篇文章主要介紹了基于OpenCV和C++ 實(shí)現(xiàn)圖片旋轉(zhuǎn),幫助大家更好的利用c++處理圖片,感興趣的朋友可以了解下
    2020-12-12
  • C++使用GDAL庫實(shí)現(xiàn)Tiff文件的讀取

    C++使用GDAL庫實(shí)現(xiàn)Tiff文件的讀取

    這篇文章主要為大家詳細(xì)介紹了C++使用GDAL庫實(shí)現(xiàn)Tiff文件的讀取的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-03-03
  • C++排序算法之冒泡排序解析

    C++排序算法之冒泡排序解析

    這篇文章主要介紹了C++排序算法之冒泡排序解析,從左到右,相鄰兩數(shù)兩兩比較,若下標(biāo)小的數(shù)大于下標(biāo)大的數(shù)則交換,將最大的數(shù)放在數(shù)組的最后一位,,再次遍歷數(shù)組,將第二大的數(shù),放在數(shù)組倒數(shù)第二的位置,以此類推,直到數(shù)組有序需要的朋友可以參考下
    2023-10-10
  • C++中的字符串(1)

    C++中的字符串(1)

    這篇文章主要簡(jiǎn)單介紹C++中的字符串,字符串就是連續(xù)的一連串字符,在C++當(dāng)中, 處理字符串的方式有兩種類型。一種來自于C語言,也被稱為C風(fēng)格字符串。另外一種是基于string類庫,下面來看文章學(xué)校內(nèi)容
    2021-11-11
  • 關(guān)于"引用"的幾點(diǎn)說明介紹

    關(guān)于"引用"的幾點(diǎn)說明介紹

    引用聲明完畢后,相當(dāng)于目標(biāo)變量名有兩個(gè)名稱,即該目標(biāo)原名稱和引用名,且不能再把該引用名作為其他變量名的別名
    2013-09-09
  • 基于C語言代碼實(shí)現(xiàn)點(diǎn)餐系統(tǒng)

    基于C語言代碼實(shí)現(xiàn)點(diǎn)餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了基于C語言代碼實(shí)現(xiàn)點(diǎn)餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C++中的ilst使用以及模擬實(shí)現(xiàn)

    C++中的ilst使用以及模擬實(shí)現(xiàn)

    list是一個(gè)類模板,加<類型>實(shí)例化才是具體的類,可以在任意位置進(jìn)行插入和刪除的序列式容器,本文將通過代碼示例給大家介紹一下C++中的ilst使用以及模擬實(shí)現(xiàn),需要的朋友可以參考下
    2023-08-08
  • C++類結(jié)構(gòu)體與json相互轉(zhuǎn)換

    C++類結(jié)構(gòu)體與json相互轉(zhuǎn)換

    這篇文章主要介紹的是C++類結(jié)構(gòu)體與json相互轉(zhuǎn)換,json字符串一般使用的是開源的類庫Newtonsoft.Json,方法十分簡(jiǎn)潔,下面就隨小編一起看下面文章內(nèi)容吧
    2021-09-09

最新評(píng)論