Write a C program to find the file type, permission, size and last modification date of the given file.
#include <stdio.h>
#include <time.h>
#include <sys/stat.h>
#include <string.h>
#define MAX 256
int main() {
FILE *fp;
char fname[MAX];
struct stat st;
printf("Enter your file name:");
scanf("%s", fname);
/* check whether the given file exists or not */
fp = fopen(fname, "r");
if (!fp) {
printf("Given file does not exists!!\n");
return 0;
}
/* getting the stat of the given file */
stat(fname, &st);
/* checking for the file type */
printf("File Type: ");
if (st.st_mode & S_IFREG) {
printf("Regular file!!\n");
} else if (st.st_mode & S_IFDIR) {
printf("Directory!!\n");
} else if (st.st_mode & S_IFLNK) {
printf("Symbolic link!!\n");
}
#include <time.h>
#include <sys/stat.h>
#include <string.h>
#define MAX 256
int main() {
FILE *fp;
char fname[MAX];
struct stat st;
printf("Enter your file name:");
scanf("%s", fname);
/* check whether the given file exists or not */
fp = fopen(fname, "r");
if (!fp) {
printf("Given file does not exists!!\n");
return 0;
}
/* getting the stat of the given file */
stat(fname, &st);
/* checking for the file type */
printf("File Type: ");
if (st.st_mode & S_IFREG) {
printf("Regular file!!\n");
} else if (st.st_mode & S_IFDIR) {
printf("Directory!!\n");
} else if (st.st_mode & S_IFLNK) {
printf("Symbolic link!!\n");
}
printf("Owner Permission: ");
/* checking for the owner permission */
if (st.st_mode & S_IRUSR) {
printf("\nRead Permission bit set!!\n");
}
if (st.st_mode & S_IWUSR) {
printf("Write Permission bit set!!\n");
}
if (st.st_mode & S_IXUSR) {
printf("Execute permission bit set!!\n");
}
printf("File Size: ");
/* size of the file */
printf("%d bytes", (int)st.st_size);
printf("\nLast Modification Time: ");
/* last modification time for the given file */
printf("%s", ctime(&st.st_mtime));
/* closing the opened file */
fclose(fp);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
Enter your file name:data_part_1.txt
File Type: Regular file!!
Owner Permission:
Read Permission bit set!!
Write Permission bit set!!
File Size: 24 bytes
Last Modification time: Wed Jul 31 22:21:37 2013
jp@jp-VirtualBox:~/$ ls -l data_part_1.txt
-rw-r--r-- 1 jp jp 24 2013-07-31 22:21 data_part_1.txt
Enter your file name:data_part_1.txt
File Type: Regular file!!
Owner Permission:
Read Permission bit set!!
Write Permission bit set!!
File Size: 24 bytes
Last Modification time: Wed Jul 31 22:21:37 2013
jp@jp-VirtualBox:~/$ ls -l data_part_1.txt
-rw-r--r-- 1 jp jp 24 2013-07-31 22:21 data_part_1.txt
SEE ALSO
- c program to write a string into a file
- c program to read numbers from a file and write even, odd and prime numbers in separate files
- c program to create a file and store "hello world" in it
- c program to read the contents of the given file
- c program to delete all blank lines in a file
- c program to check whether a directory exists or not
- c program to check whether a file exists or not
- c program to copy a file from one location to another
- c program to create, read, edit and close a file
- c program to create a file with input content
- c program to read a file line by line
- c program to compare two files character by character
- c program to concatenate two files
- c program to convert lowercase characters in a file to uppercase
- c program to convert uppercase characters in a file to lowercase
- c program to list all files in a directory
- c program to list all files in a directory recursively
- c program to append data into a file
- c program to count number of lines in a file
- c program to delete a file or directory
- c program to print the source code of itself as output
- c program to convert the contents in a file from lowercase to uppercase and vice versa
- c program to merge two files
- c program to move a file to different location
- c program to replace articles with space in a text file
- c program to print the words in a file starting with the given character
- c program to delete given word in a file
- c program to replace a word in a file
- c program to merge alternate lines from two files
- c program to remove numbers in a file
- c program to check end of file
- c program to compare two files line by line
- c program to delete specific line from a file
- c program to replace specific line in a file
- c program to take input from a file
- c program to delete a record from a file
- c program to find the number of character, words and lines in a file
- c program to sort characters in each words of a file
- c program to convert text file to binary
- c program to split a file to multiple files
- c program to find the file type, permission, size and last modification date of the given file
- c program to encrypt and decrypt contents of a file
- c program to eliminate comments from a file
This comment has been removed by the author.
ReplyDelete