Форум программистов, компьютерный форум CyberForum.ru

перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
15.02.2011, 22:29     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #1
пожалуйста напишите программу, которая позволяет выполнять операции создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно).очень прошу!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 22:29     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)
Посмотрите здесь:

Удаление непустого каталога C++
Написать программу, которая обеспечивает:начальное формирование каталога файлов;вывод каталога файлов;удаление файлов... C++
Операции создания каталога, изменения временного каталога, удаление файла и директории C++
C++ Сканирование каталога
Просмотр каталога C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
16.02.2011, 17:49     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #2
Есть С-шные функции создания и удаления каталога mkdir и rmdir насколько помню их заголовки даны в direct.h, нагугли в msdn-е об их синтасисе, вроди по памяти rmdir и файлы удаляет

Добавлено через 2 часа 19 минут
Вот что у меня получилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <direct.h>
#include <windows.h>
#include <shlobj.h> //Подключаем SHLDialog
#include <stdio.h>
 
char sPath[MAX_PATH];
char sName[MAX_PATH];
 
LPTSTR SelectPath(LPCTSTR sTITLE, UINT BIF_PARAM);
/*
BIF_DONTGOBELOWDOMAIN   
BIF_BROWSEINCLUDEFILES
*/
 
void main()
{
BEGIN:
    printf("\t*******PROGRAM MENU*******\r\n");
    printf("1 - MAKE   DIRECTORY\r\n");
    printf("2 - REMOVE DIRECTORY\r\n");
    printf("3 - REMOVE FILE\r\n");
    int iKey;scanf("%d",&iKey);
    switch(iKey)
    {
    case 1:
        sprintf(sPath,"%s\\",
            SelectPath
            (
                "Choose directory", 
                BIF_DONTGOBELOWDOMAIN
            )
                );
        if(sPath[0] =! '\0')
        {
            printf("Creation subdirectory in path :\r\n%s\r\n",sPath);
            printf("Enter name of subdirectory\r\n");
            scanf("%s",sName);
            if(mkdir(strcat(sPath,sName)))
                printf("Creation \r\n%s\r\n SUCCESFULLY COMPLETED\r\n",sPath);
        }
        break;
    case 2:
        sprintf(sPath,"%s\\",
            SelectPath
            (
                "Choose directory", 
                BIF_DONTGOBELOWDOMAIN
            )
                );
        if(sPath[0] =! '\0')
        {
            if(rmdir(sPath))
                printf("%s\r\n SUCCESFULLY DELETED\r\n",sPath);
        }
        break;
    case 3:
        sprintf(sPath,"%s\\",
            SelectPath
            (
                "Choose file", 
                BIF_DONTGOBELOWDOMAIN|BIF_BROWSEINCLUDEFILES
            )
                );
        if(sPath[0] =! '\0')
        {
            if(rmdir(sPath))
                printf("%s\r\n SUCCESFULLY DELETED\r\n",sPath);
        }
        break;
    default :
        return;
        break;
    }
    goto BEGIN;
}
 
LPTSTR SelectPath(LPCTSTR sTITLE, UINT BIF_PARAM)
{
    char sPath[MAX_PATH];sPath[0] = '\0';
    LPCITEMIDLIST lpITEMIDLIST;
    BROWSEINFO pINFO = 
    {
        NULL, 
        NULL, 
        sPath,
        sTITLE,
        BIF_PARAM,
        NULL,
        NULL,
        0
    };
    if((lpITEMIDLIST = SHBrowseForFolder(&pINFO)))
    {
        if(SHGetPathFromIDList(lpITEMIDLIST, sPath))
            GetShortPathName((LPCTSTR)sPath, sPath,strlen(sPath));
    }
    return &sPath[0];
}
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
16.02.2011, 19:17  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #3
спасиб,ща попробуем)

Добавлено через 1 час 18 минут
а как подлючить #include <shlobj.h> ??а то выдает ошибку
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
16.02.2011, 19:51     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #4

Не по теме:

Есть С-шные функции создания и удаления каталога mkdir и rmdir насколько помню их заголовки даны в direct.h
direct.h не входит в стаднартную реализацию языка Си, например в GCC (у меня 4.5.2) такого хедера нет.



Добавлено через 2 минуты
Андрей92, спешл_фор_ю
На сколько я понял, это чисто Borland'овская приблуда.
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
16.02.2011, 20:43  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #5
чё то не получилось,а без <shlobj.h> прога будет работать??и для чего shlobj.h вообще нужен?
-=ЮрА=-
Заблокирован
Автор FAQ
17.02.2011, 16:08     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <direct.h>
#include <string.h>
#include <stdio.h>
 
char sPath[256];
 
void main()
{
BEGIN:
    printf("\t*******PROGRAM MENU*******\r\n");
    printf("1 - MAKE   DIRECTORY\r\n");
    printf("2 - REMOVE DIRECTORY\r\n");
    printf("3 - REMOVE FILE\r\n");
    int iKey;scanf("%d",&iKey);
    switch(iKey)
    {
    case 1:
        strcpy(sPath,"C:\\Temp");
        if(mkdir(sPath) == 0)
            printf("Creation \r\n%s\r\n SUCCESFULLY COMPLETED\r\n",sPath);
        break;
    case 2:
        strcpy(sPath,"C:\\Temp");
        if(rmdir(sPath) == 0)
            printf("%s\r\n SUCCESFULLY DELETED\r\n",sPath);
        break;
    case 3:
        strcpy(sPath,"C:\\Temp\\Test.txt");
        if(rmdir(sPath) == 0)
            printf("%s\r\n SUCCESFULLY DELETED\r\n",sPath);
        break;
    default :
        return;
        break;
    }
    goto BEGIN;
}
Добавлено через 3 минуты
Kastaneda, direct.h входит в состав пакета VisualStudio 6.0 и shlobj.h тоже...
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
20.02.2011, 11:28  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #7
а при создания каталога,как можно узнать что он вообще создался??
-=ЮрА=-
Заблокирован
Автор FAQ
20.02.2011, 16:00     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #8
1-й самый простой, открыть диск С в эксплорере и поглядеть, ну это очень тривиально)))
2-й вбей
C++
1
system("explorer C:\\Temp");
для подключения заголовка system необходим stdlib.h
3 - можно использовать функцию ShellExecute но это уже слишком в условиях поставленной задачи...
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
20.02.2011, 20:34  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #9
а,спасиб
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
21.02.2011, 16:26  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #10
не подскажете чё тут ошибку выдает?
Миниатюры
перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)  
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
21.02.2011, 20:34     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #11
Андрей92, Это ворнинг. Уберите break;
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
21.02.2011, 21:25  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #12
если убераешь break то прога не выполняет операции
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.02.2011, 01:51     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #13
Андрей92, С какого это? Все она выполняет. Там return в default идет - выход из функции. break там точно не нужен
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
22.02.2011, 07:21  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #14
откомпелировал,нажимаю ctrl+f9 выбираю что мне нужно сделать,например создать каталог,нажимаю 1,а оно не создает,пару дней назад всё было норм,создавало,удаляло каталоги,а щас чёто не
Миниатюры
перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)  
-=ЮрА=-
Заблокирован
Автор FAQ
22.02.2011, 11:24     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #15
Я билдер не люблю, но решил всё таки разобраться почему у тебя не компилится проект. BC.EXE сообщил при линковании об 1-м предупреждении, закоментируй код как я показал на картинке, после этого программа работает, сам тестил!!!
Изображения
 
-=ЮрА=-
Заблокирован
Автор FAQ
22.02.2011, 11:28     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #16
А вообще можно просто убрать ветвь default и никаких проблем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2011, 17:01     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)
Еще ссылки по теме:

C++ Архивация каталога С++
C++ Мониторинг каталога на предмет изменения содержимого
C++ Запуск и последующее удаление всех исполняемых файлов из каталога

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
22.02.2011, 17:01  [ТС]     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) #17
я так и сделал,чёто всеравно не так ,раньше при нажатии например создать каталог оно пишет что создало SUCCESFULLY COMPLETED ,а щас вообще не пишет что создало

Добавлено через 7 минут
может проблема в заполнении памяти??
Yandex
Объявления
22.02.2011, 17:01     перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)
Ответ Создать тему
Опции темы

Текущее время: 00:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru