FileAttributes.c 1. Create a new C source code file named FileAttributes.c preprocessor 2. Include the following C libraries a. stdio.h b. stdlib.h c. time.h d. string.h e. dirent.h f. sys/stat.h 3. Function prototype for f
FileAttributes.c |
1. Create a new C source code file named FileAttributes.c |
preprocessor |
2. Include the following C libraries a. stdio.h b. stdlib.h c. time.h d. string.h e. dirent.h f. sys/stat.h 3. Function prototype for function printAttributes() |
main() |
4. Write the main function to do the following a. Return type int b. Empty parameter list c. Declare a variable of data type struct stat to store the attribute structure (i.e. statBuff) d. Declare a variable of data type int to store an error code (i.e. err) e. Declare a variable of data type struct dirent as a pointer (i.e. de) f. Declare a variable of data type DIR as a pointer set equal to function call opendir() passing explicit text “.” as an argument to indicate the current directory (i.e. dr) g. If the DIR variable is equal to NULL do the following i. Output to the console that "Could not open current directory" ii. Return 0 to end the program h. While reading the directory contents is NOT NULL do the following i. Set variable err equal to function call stat() passing as arguments 1. the d_name of the directory entry 2. struct stat statBuff ii. Evaluate if variable err is equal to -1 (i.e. indicating the file could not be accessed) 1. Output to the console explicit text a. “Error in stat” b. “Press `Enter' to continue . . .” c. Call function getChar() d. Return 1 to terminate the program iii. Call function printAttributes() passing as arguments 1. d_name of the directory entry 2. struct stat statBuff i. Return 0 to indicate end of program |
printAttributes() |
5. Write function printAttributes() to do the following a. Declare a variable of data type time_t (i.e. t) b. Declare an array of data type char, size 100, to store the time in a string (i.e. timeStr) c. Output the file name d. Output the file device id e. Output the file serial number f. Output the file user id g. Output the file group id h. Output the file mode i. Evaluate the file mode for owner permissions 1. Read 2. Write 3. Execute ii. Evaluate the file mode for group permissions 1. Read 2. Write 3. Execute iii. Evaluate the file mode for other permissions 1. Read 2. Write 3. Execute i. Output the file creation date j. Output the file last modification date k. Output the file last accessed date l. Output the file size |
Trending now
This is a popular solution!
Step by step
Solved in 3 steps