Процессы и потоки. Си под Linux(дополнить существующий код)
500 руб. за проект
Изменить код таким образом, чтобы каталог обрабатывался отдельным процессом (в среде 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;
}
#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;
}
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.