Процессы и потоки. Си под Linux(дополнить существующий код)

500 руб. за проект
01 декабря 2022, 22:41 • 1 отклик • 31 просмотр
Изменить код таким образом, чтобы каталог обрабатывался отдельным процессом (в среде Linux). Вот код:
#include <stdio.h>
#include <unistd.h>
#include <limits.h>
#include <dirent.h>
#include <ctype.h>
#include <stdlib.h>
#define BUFFER_SIZE 256

static int is_number(const char *name)
{
for (; *++name;) {
if (!isdigit(*name)) {
return 0;
}
}
return 1;
}

int main(void)
{
DIR *cwd;
struct dirent *entry;
char cwd_path[PATH_MAX];
char buffer[BUFFER_SIZE];

if (!getcwd(cwd_path, PATH_MAX)) {
perror("getcwd error");
return -1;
}

if (cwd = opendir(cwd_path)) {
while ((entry = readdir(cwd))) {
if (entry->d_type != DT_DIR) {
if (is_number(entry->d_name)) {
sprintf(buffer, "%x", atoi(entry->d_name));
rename(entry->d_name, buffer);
}
}
}

closedir(cwd);
}
else {
perror("opendir error");
return -1;
}
return 0;
}