Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <dirent.h>
- #include <unistd.h>
- #include <string.h>
- #include <sys/stat.h>
- void deleteEmptyFileInDirectory(const char* directory);
- void deleteEmptyFileInDirectory(DIR* directory);
- int main(int argc, char** argv) {
- if(argc < 2) {
- fprintf(stderr, "Error argc! No file path to delete empty file in directory!\n");
- }
- char* directory = argv[1];
- deleteEmptyFileInDirectory(directory);
- return 0;
- }
- void deleteEmptyFileInDirectory(const char* pathToDirectory) {
- char* runDirectory = getcwd(NULL, 0);
- DIR* directory = opendir(pathToDirectory);
- deleteEmptyFileInDirectory(directory);
- closedir(directory);
- chdir(runDirectory);
- }
- void deleteEmptyFileInDirectory(DIR* directory) {
- struct dirent* fileDirent = readdir(directory);
- while(fileDirent != NULL) {
- char *fileName = fileDirent->d_name;
- if(strcmp(fileName, ".") != 0 && strcmp(fileName, "..") != 0) {
- struct stat stateFile;
- stat(fileName, &stateFile);
- if(S_ISREG(stateFile.st_mode) != 0 && stateFile.st_size == 0) {
- remove(fileName);
- }
- }
- fileDirent = readdir(directory);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment