Warning: Undefined array key "view" in /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php on line 47

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php on line 48

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php on line 49

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php on line 50

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php:2) in /var/www/html/wp-content/uploads/classes/so/1617/lab-examples/index.php on line 51
/** * raccoglie e visualizza tutta una serie di informazioni su * un file specificato sulla riga di comando */ #include #include #include #include #include #include #include int main(int argc, char *argv[]) { struct stat statbuf; struct passwd *pw; struct group *gr; const char *username, *groupname; const char *type; mode_t modes; if (argc < 2) { fprintf(stderr, "utilizzo: %s \n",argv[0]); exit(1); } // raccoglie le informazioni sul file/directory if (lstat(argv[1], &statbuf) == -1) { perror(argv[1]); exit(1); } // prende il nome del proprietario if ((pw = getpwuid(statbuf.st_uid)) == NULL) username = "????"; else username = pw->pw_name; // prende il nome del gruppo if ((gr = getgrgid(statbuf.st_gid)) == NULL) groupname = "????"; else groupname = gr->gr_name; // determina il tipo dell'oggetto su file-system modes = statbuf.st_mode; if ((modes & S_IFMT) == S_IFDIR) // if (S_ISDIR(modes) type = "directory"; else if (((modes & S_IFMT) == S_IFBLK) || ((modes & S_IFMT) == S_IFCHR)) type = "file speciale di dispositivo"; else if ((modes & S_IFMT) == S_IFREG) type = "file regolare"; else if ((modes & S_IFMT) == S_IFLNK) type = "link simbolico"; else if ((modes & S_IFMT) == S_IFIFO) type = "file FIFO"; else type = "--indefinito (!?!)--"; // stampa alcune informazioni printf("filename: %s\n", argv[1]); printf("permissions: %o\n", modes & 0777); printf("type: %s\n", type); printf("i-number: %d\n", (int)statbuf.st_ino); printf("uid: %d (%s) gid: %d (%s)\n", statbuf.st_uid, username, statbuf.st_gid, groupname); printf("atime: %s", asctime(localtime(&(statbuf.st_atime)))); printf("mtime: %s", asctime(localtime(&(statbuf.st_mtime)))); printf("ctime: %s", asctime(localtime(&(statbuf.st_ctime)))); }