国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

詳解C語言中telldir()函數和seekdir()函數的用法

2020-01-26 14:54:57
字體:
來源:轉載
供稿:網友

C語言telldir()函數:取得目錄流的讀取位置
頭文件:

 #include <dirent.h>

定義函數:

off_t telldir(DIR *dir);

函數說明:telldir()返回參數dir 目錄流目前的讀取位置. 此返回值代表距離目錄文件開頭的偏移量返回值返回下個讀取位置, 有錯誤發生時返回-1.

錯誤代碼:EBADF 參數dir 為無效的目錄流。

范例

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

執行結果:

d_name : . offset :12d_name : .. offset :24d_name : init.d offset 40d_name : rc0.d offset :56d_name : rc1.d offset :72d_name : rc2.d offset :88d_name : rc3.d offset :104d_name : rc4.d offset :120d_name : rc5.d offset :136d_name : rc6.d offset :152d_name : rc offset :164d_name : rc.local offset :180d_name : rc.sysinit offset :4096

C語言seekdir()函數:設置下回讀取目錄的位置
頭文件:

#include <dirent.h>

定義函數:

void seekdir(DIR * dir, off_t offset);

函數說明:seekdir()用來設置參數dir 目錄流目前的讀取位置, 在調用readdir()時便從此新位置開始讀取. 參數offset 代表距離目錄文件開頭的偏移量。

錯誤代碼:EBADF 參數dir 為無效的目錄流。

范例

#include <sys/types.h>#include <dirent.h>#include <unistd.h>main(){  DIR * dir;  struct dirent * ptr;  int offset, offset_5, i = 0;  dir = opendir("/etc/rc.d");  while((ptr = readdir(dir)) != NULL)  {    offset = telldir(dir);    if(++i == 5)    offset_5 = offset;    printf("d_name : %s offset :%d /n", ptr->d_name, offset);  }  seekdir(dir offset_5);  printf("Readdir again!/n");  while((ptr = readdir(dir)) != NULL)  {    offset = telldir(dir);    printf("d_name : %s offset :%d/n", ptr->d_name, offset);  }  closedir(dir);}

執行:

d_name : . offset :12d_name : .. offset :24d_name : init.d offset 40d_name : rc0.d offset :56d_name : rc1.d offset :72d_name : rc2.d offset :88d_name : rc3.d offset :104d_name : rc4.d offset :120d_name : rc5.d offset :136d_name : rc6.d offset :152d_name : rc offset :164d_name : rc.local offset :180d_name : rc.sysinit offset :4096 readdir again!d_name : rc2.d offset :88d_name : rc3.d offset :104d_name : rc4.d offset :120d_name : rc5.d offset :136d_name : rc6.d offset :152d_name : rc offset :164d_name : rc.local offset :180d_name : rc.sysinit offset :4096

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 兴和县| 延安市| 三亚市| 巴林左旗| 闽侯县| 恩平市| 银川市| 松溪县| 精河县| 定西市| 修文县| 马公市| 大荔县| 霍山县| 拉孜县| 昌乐县| 肇东市| 金阳县| 基隆市| 普陀区| 砀山县| 德保县| 丁青县| 吉首市| 阳西县| 禄丰县| 岢岚县| 富川| 常宁市| 兴和县| 亚东县| 梁山县| 朝阳市| 灵寿县| 荔波县| 阿城市| 长宁区| 潞城市| 景东| 柳江县| 汉川市|