- opendir
- readdir
- closedir
- chdir
- telldir
- getcwd
- mkdir
函数原型如下:
#include#include DIR *opendir ( const char *path );
该函数获取path目录下的所有文件和目录的列表。如果path是个文件,则返回值为NULL。
readdir函数原型如下:
#includestruct dirent *readdir ( DIR *dir_handle );
该函数返回dir_handle目录流的下个目录进入点。如果发生错误或者达到目录尾,则返回NULL。
closedir函数原型如下:
#include#include int closedir ( DIR *dir );
该函数关闭与dir关联的目录流。如果函数执行成功,则返回0,否则返回-1。
chdir函数原型如下:
#includeint chdir ( const char *path );
该函数改变当前工作目录,进入path指定的目录。如果函数执行成功,则返回0,否则返回-1。
telldir函数原型如下:
#includeoff_t telldir ( DIR *dir );
该函数返回dir目录流目前的读取位置。
#include#include #include #include "stdio.h" int main() { DIR *dir; struct dirent *ptr; int offset; dir = opendir ( "/home" ); while ( ( ptr = readdir ( dir ) ) != NULL ) { offset = telldir ( dir ); printf ( "d_name: %s offset: %dn", ptr->d_name, offset ); } closedir ( dir ); }
执行结果:
d_name: fuxinzi offset: -1391288587 d_name: .. offset: -583585355 d_name: . offset: -1getcwd
函数原型如下:
char *getcwd ( char *buffer, size_t size );
该函数将当前路径复制到buffer中,该buffer的大小为size。如果buffer太小,函数则会返回-1。
#includemkdir#include "stdio.h" int main() { char buf[80]; getcwd ( buf, sizeof ( buf ) ); printf ( "current working directory : %sn", buf ); return 0; }
函数原型如下:
#includeint mkdir ( char *dir, int mode );
该函数用于创建新目录。如果函数执行成功,则返回值为0,失败则返回-1。



