Exemple #1
0
/**
 * Main
 */
int main(int argc, char* argv[]) {

  int mode = get_mode(argc, argv);
  if (mode < 0) {
    printf("Invalid arguments\n");
    exit(-1);
  }
  
  DIR *dirPtr;
  struct dirent *entryPtr;
  dirPtr = opendir (".");

  int blksize_count = 0;
  
  while ((entryPtr = readdir (dirPtr))) {
    struct stat st;
    stat(entryPtr->d_name, &st);
    
    switch(mode) {
    case SIZE_MODE: {
      int blksize = (int)(st.st_blocks / 2);
      if (S_ISLNK(st.st_mode)) blksize = 0;
      blksize_count += blksize;
      printf ("%-20s %-3d blocks\n", entryPtr->d_name, blksize);
      break;
    }
    case INODE_NUM_MODE: {
      printf ("%-20s inode#: %d \n", entryPtr->d_name, (int)st.st_ino);
      break;
    }
    case FILETYPE_MODE: {
      printf ("%s%c\n", entryPtr->d_name, get_type_char(st.st_mode));
      break;
    }
    case STANDARD_MODE: {
      printf ("%s\n", entryPtr->d_name);
      break;
    }
    }
    
  }
  
  if (mode == SIZE_MODE) {
    printf("%d total blocks\n", blksize_count);
  }
  
  closedir (dirPtr);
  return 0;
}
void print_matrix(int generation, int subgeneration) {
    int i, j;

    printf("Generation: %d Subgeneration: %d\n", generation, subgeneration);
    for(i = 0; i < max_size; i++) {
        printf("Line %d |", i);
        for(j = 0; j < max_size; j++) {
            printf("%c|", get_type_char(&worlds[1][i][j]));
        }
        printf("\n");
        printf("       ");
        for(j = 0; j < max_size * 2 + 1; j++) {
            printf("-");
        }
        printf("\n");
        fflush(stdout);
    }
}