乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用stat函數(shù),獲取文件屬性

       lchjczw 2013-01-23

      #include<sys/types.h>

      #include<sys/stat.h>

      #include<unistd.h>

      intstat(const char*path,structstat *buf);

      intfstat(intfd,structstat *buf);

      intlstat(const char*path,structstat *buf);


      這三個(gè)函數(shù)的區(qū)別是:

      stat用于獲取有參數(shù)file_name指定的文件名的狀態(tài)信息,保存在參數(shù)structstat *buf中。fstat于stat的區(qū)別在于fstat是通過(guò)文件描述符來(lái)指定文件,也就是通過(guò)open函數(shù)所返回獲得的fd。lstat與stat 的區(qū)別在于,對(duì)于符號(hào)鏈接文件,lstat返回的是符號(hào)鏈接文件本身的狀態(tài)信息,而stat返回的是符號(hào)鏈接指向的文件狀態(tài)信息。

      參數(shù) structstat *buf是一個(gè)保存文件狀態(tài)信息的結(jié)構(gòu)體

       文件對(duì)應(yīng)的屬性
         struct stat {
              mode_t     st_mode;       //文件對(duì)應(yīng)的模式,文件,目錄等
              ino_t      st_ino;       //inode節(jié)點(diǎn)號(hào)
              dev_t      st_dev;        //設(shè)備號(hào)碼
              dev_t      st_rdev;       //特殊設(shè)備號(hào)碼
              nlink_t    st_nlink;      //文件的連接數(shù)
              uid_t      st_uid;        //文件所有者
              gid_t      st_gid;        //文件所有者對(duì)應(yīng)的組
              off_t      st_size;       //普通文件,對(duì)應(yīng)的文件字節(jié)數(shù)
              time_t     st_atime;      //文件最后被訪問(wèn)的時(shí)間
              time_t     st_mtime;      //文件內(nèi)容最后被修改的時(shí)間
              time_t     st_ctime;      //文件狀態(tài)改變時(shí)間
              blksize_t st_blksize;    //文件內(nèi)容對(duì)應(yīng)的塊大小
              blkcnt_t   st_blocks;     //偉建內(nèi)容對(duì)應(yīng)的塊數(shù)量
            };
      可以通過(guò)上面提供的函數(shù),返回一個(gè)結(jié)構(gòu)體,保存著文件的信息。

      接下來(lái)只用調(diào)用這個(gè)函數(shù)來(lái)獲得文件的屬性,代碼如下:

      #include<stdio.h>

      #include<time.h>

      #include<sys/stat.h>

      #include<unistd.h>

      #include<sys/types.h>

      #include<errno.h>

      intmain(intargc,char*argv[])

      {

         structstat buf;

         //檢查參數(shù)

         if(argc != 2) {

              printf("Usage: my_stat <filename>\n");

              exit(0);

          }

         //獲取文件屬性

         if( stat(argv[1], &buf) == -1 ) {

              perror("stat:");

              exit(1);

          }

         //打印出文件屬性

          printf("device is: %d\n", buf.st_dev);

          printf("inode is: %d\n", buf.st_ino);

          printf("mode is: %o\n", buf.st_mode);

          printf("number of hard links  is: %d\n", buf.st_nlink);

          printf("user ID of owner is: %d\n", buf.st_uid);

          printf("group ID of owner is: %d\n", buf.st_gid);

          printf("device type (if inode device) is: %d\n", buf.st_rdev);

          printf("total size, in bytes is: %d\n", buf.st_size);

          printf(" blocksize for filesystem I/O is: %d\n", buf.st_blksize);

          printf("number of blocks allocated is: %d\n", buf.st_blocks);

          printf("time of last access is: %s", ctime(&buf.st_atime));

          printf("time of last modification is: %s", ctime(&buf.st_mtime));

          printf("time of last change is: %s", ctime(&buf.st_ctime));

         return0;

      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多