<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## stat ## 取得文件狀態 ### 相關函數 ### fstat,lstat,chmod,chown,readlink,utime ### 表頭文件 ### ``` #include<sys/stat.h> #include<unistd.h> ``` ### 定義函數 ### ``` int stat(const char *file_name, struct stat *buf); ``` ### 函數說明 ### stat()用來將參數file_name所指的文件狀態,復制到參數buf所指的結構中。 下面是struct stat內各參數的說明 ``` struct stat { dev_t st_dev; /*device*/ ino_t st_ino; /*inode*/ mode_t st_mode; /*protection*/ nlink_t st_nlink; /*number of hard links */ uid_t st_uid; /*user ID of owner*/ gid_t st_gid; /*group ID of owner*/ dev_t st_rdev; /*device type */ off_t st_size; /*total size, in bytes*/ unsigned long st_blksize; /*blocksize for filesystem I/O */ unsigned long st_blocks; /*number of blocks allocated*/ time_t st_atime; /* time of lastaccess*/ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last change */ }; ``` st_dev 文件的設備編號 st_ino 文件的i-node st_mode 文件的類型和存取的權限 st_nlink 連到該文件的硬連接數目,剛建立的文件值為1。 st_uid 文件所有者的用戶識別碼 st_gid 文件所有者的組識別碼 st_rdev 若此文件為裝置設備文件,則為其設備編號 st_size 文件大小,以字節計算 st_blksize 文件系統的I/O 緩沖區大小。 st_blcoks 占用文件區塊的個數,每一區塊大小為512 個字節。 st_atime 文件最近一次被存取或被執行的時間,一般只有在用mknod、utime、read、write與tructate時改變。 st_mtime 文件最后一次被修改的時間,一般只有在用mknod、utime和write時才會改變 st_ctime i-node最近一次被更改的時間,此參數會在文件所有者、組、權限被更改時更新先前所描述的st_mode 則定義了下列數種情況 S_IFMT 0170000 文件類型的位遮罩 S_IFSOCK 0140000 scoket S_IFLNK 0120000 符號連接 S_IFREG 0100000 一般文件 S_IFBLK 0060000 區塊裝置 S_IFDIR 0040000 目錄 S_IFCHR 0020000 字符裝置 S_IFIFO 0010000 先進先出 S_ISUID 04000 文件的(set user-id on execution)位 S_ISGID 02000 文件的(set group-id on execution)位 S_ISVTX 01000 文件的sticky位 S_IRUSR(S_IREAD) 00400 文件所有者具可讀取權限 S_IWUSR(S_IWRITE)00200 文件所有者具可寫入權限 S_IXUSR(S_IEXEC) 00100 文件所有者具可執行權限 S_IRGRP 00040 用戶組具可讀取權限 S_IWGRP 00020 用戶組具可寫入權限 S_IXGRP 00010 用戶組具可執行權限 S_IROTH 00004 其他用戶具可讀取權限 S_IWOTH 00002 其他用戶具可寫入權限 S_IXOTH 00001 其他用戶具可執行權限 上述的文件類型在POSIX 中定義了檢查這些類型的宏定義 S_ISLNK (st_mode) 判斷是否為符號連接 S_ISREG (st_mode) 是否為一般文件 S_ISDIR (st_mode)是否為目錄 S_ISCHR (st_mode)是否為字符裝置文件 S_ISBLK (s3e) 是否為先進先出 S_ISSOCK (st_mode) 是否為socket 若一目錄具有sticky 位(S_ISVTX),則表示在此目錄下的文件只能被該文件所有者、此目錄所有者或root來刪除或改名。 ### 返回值 ### 執行成功則返回0,失敗返回-1,錯誤代碼存于errno ### 錯誤代碼 ### ENOENT 參數file_name指定的文件不存在 ENOTDIR 路徑中的目錄存在但卻非真正的目錄 ELOOP 欲打開的文件有過多符號連接問題,上限為16符號連接 EFAULT 參數buf為無效指針,指向無法存在的內存空間 EACCESS 存取文件時被拒絕 ENOMEM 核心內存不足 ENAMETOOLONG 參數file_name的路徑名稱太長 ### 范例 ### ``` #include<sys/stat.h> #include<unistd.h> mian() { struct stat buf; stat (“/etc/passwd”,&buf); printf(“/etc/passwd file size = %d \n”,buf.st_size); } ``` ### 執行 ### ``` /etc/passwd file size = 705 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看