#include #include #include #include #include void print_file_info ( const char *filename ); int main ( int argc, char *argv[] ) { int i; if ( argc < 2 ) { fprintf(stderr, "Usage: %s filenames\n", argv[0]); } for ( i = 1; i < argc; i++ ) { print_file_info(argv[i]); } return 0; } void print_file_info ( const char *filename ) { struct stat st; if ( stat ( filename, &st ) == 0 ) { fprintf(stdout, "File name: %s\n", filename); fprintf(stdout, "\tsize: %d\n", (int) st.st_size); fprintf(stdout, "\tblks: %d\n", (int) st.st_blksize); fprintf(stdout, "\tuid: %d\n", (int) st.st_uid); fprintf(stdout, "\tgid: %d\n", (int) st.st_gid); fprintf(stdout, "\tlast accessed: %s", ctime(&(st.st_atime))); fprintf(stdout, "\tlast modified: %s", ctime(&(st.st_mtime))); } else { fprintf(stdout, "Error while processing file %s\n", filename); } }