fileno函數:檔案流(FILE*)->檔案描述符
#include <stdio.h>
int main(void)
{
FILE * fp; //檔案流
int fd; //檔案描述符
fp=fopen("/home/yaoyin/bin/test/1.c","r");
fd=fileno(fp);
printf("fd=%d\n",fd);
fclose(fp);
return 0;
}
結果: fd=3(0 stdin 1 stdout 2 stderr 未被使用的最小的描述符=3)
掃描目錄:
標頭檔dirent.h
DIR:結構體,用於操作目錄,不可改變之
dirent:結構體,與DIR相同,可操作之
Directory entries themselves are returned in dirent structures,also declared in dirent.h,
because one should never alter the fields in the DIR structure directly.
相關函數:opendir,closedir,readdir,telldir,seekdir
DIR *opendir(const char *name);
關鍵函數:readdir
struct dirent *readdir( DIR * dirp)
return a pointer to a structure detailing the next directory entry in the directory stream drip.
successive calls return further directory entries.
On error,or at the end of the directory,return NULL.
當其他進程建立、刪除檔案的同時,使用readdir,不能保證列舉出所有的檔案和子目錄。
//1.c
int main(int argc,char *argv[])
{
//
}
gcc 1.c -o test
./test arg1 arg2
結果:argc=3 argv指向{"test","arg1","arg2"}