ÇÁ·Î±×·¡¹Ö

 3204, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ai3rg43
   [c¾ð¾î] ¸®´ª½ºC Áú¹®µå¸³´Ï´Ù.

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=2935 [º¹»ç]


µ¶ÇÐÀ¸·Î ¸®´ª½ºC°øºÎ ½ÃÀÛÇߴµ¥¿ä. ¹®Á¦¸¦ Ç®´Ù ¸·Çô¼­¿ä. Çؼ®°¡´ÉÇϽŠºÐ ÄÚµåÇؼ® Á» ºÎŹµå¸³´Ï´Ù.

#include <stdio.h>
#include <errno.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <string.h>

extern const char *fmt_mode(mode_t mode);
const char *fmt_mode(mode_t mode)
{
static char result[11];
strcpy(result, "----------");
if (S_ISDIR(mode))
    result[0] = 'd';
else if (S_ISCHR(mode))
    result[0] = 'c';
else if (S_ISBLK(mode))
    result[0] = 'b';
else if (S_ISREG(mode))
    result[0] = '-';
else if (S_ISFIFO(mode))
    result[0] = 'p';
else if (S_ISLNK(mode))
    result[0] = 'l';
else if (S_ISSOCK(mode))
    result[0] = 's';
else
    return result;

if ((mode & S_IRUSR) != 0)
    result[1] = 'r';
if ((mode & S_IWUSR) != 0)
    result[2] = 'w';

switch (mode & (S_ISUID|S_IXUSR)) {
case S_ISUID|S_IXUSR:
   result[3] = 's';
   break;
case S_ISUID:
   result[3] = 'S';
   break;
case S_IXUSR:
   result[3] = 'x';
   break;
}
if ((mode & S_IRGRP) != 0)
   result[4] = 'r';
if ((mode & S_IWGRP) != 0)
   result[5] = 'w';
switch (mode & (S_ISGID|S_IXGRP)) {
case S_ISGID|S_IXGRP:
   result[6] = 's';
   break;
case S_ISGID:
   result[6] = 'S';
   break;
case S_IXGRP:
  result[6] = 'x';
  break;
}
if ((mode & S_IROTH) != 0)
  result[7] = 'r';
if ((mode & S_IWOTH) != 0)
  result[8] = 'w';
switch (mode & (S_ISVTX|S_IXOTH)) {
case S_ISVTX|S_IXOTH:
  result[9] = 't';
  break;
case S_ISVTX:
  result[9] = 'T';
  break;
case S_IXOTH:
  result[9] = 'x';
  break;
}
return result;
}
char *myname;
int process(char *dir);
int main(int argc, char **argv)
{
   int i;
   int errs = 0;

   myname = argv[0];

   if (argc == 1)
       errs = process(".");
   else
         for (i = 1; i < argc; i++)
               errs += process(argv[i]);
   return (errs != 0);
}


int
process(char *dir)
{
    DIR *dp;
    struct dirent *ent;
    struct stat sbuf;
    char fullname[PATH_MAX];

    if ((dp = opendir(dir)) == NULL) {
         fprintf(stderr, "%s: %s: cannot open for reading: %s\n",myname, dir, strerror(errno));
         return 1;
    }
    errno = 0;
    while ((ent = readdir(dp)) != NULL) {

  
    sprintf(fullname, "%s/%s", dir, ent->d_name);
    if (stat(fullname, & sbuf) < 0) {
          fprintf(stderr, "stat: %s: %s\n",ent->d_name, strerror(errno));
          continue;
    }
  
    printf("%8ld %s %lu %s\n", ent->d_ino, fmt_mode(sbuf.st_mode),sbuf.st_nlink, fullname);
}
if (errno != 0) {
    fprintf(stderr, "%s: %s: reading or stating directory entries: %s\n",myname, dir, strerror(errno));
    return 1;
}
if (closedir(dp) != 0) {
   fprintf(stderr, "%s: %s: closedir: %s\n",myname, dir, strerror(errno));
   return 1;
}
return 0;
}

  Hit : 3786     Date : 2011/04/05 01:31



    
¸Û¸Û Á˼ÛÇÏÁö¸¸ Áú¹®ÀÌ ¸íÈ®ÇÏÁö¾Ê¾Æ¼­ ´äº¯À» µå¸®±â°¡ ¾î·Æ³×¿ä.. 2011/04/05  
3204   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 223
3203   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 953
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2031
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1859
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1599
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2304
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1621
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 1
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5176
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2410
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4188
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4094
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3535
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4321
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3782
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3756
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3767
3186     [re] c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.     dafher
05/13 1597
3185   c¾ð¾î ¼Ò½º Áú¹® ¹¹°¡ ¹®Á¦ÀÎÁö¤Ì¤Ì¤Ì¤Ì[2]     sjjh96
05/23 4306
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org