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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
#1

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

15.02.2011, 22:29. Просмотров 2453. Ответов 16
Метки нет (Все метки)

пожалуйста напишите программу, которая позволяет выполнять операции создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно).очень прошу!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2011, 22:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно) (C++):

Операции создания каталога, изменения временного каталога, удаление файла и директории - C++
Написать программу, которая позволяет выполнять операции создания каталога, изменения временного каталога, удаление файла и директории...

Написать программу, которая обеспечивает:начальное формирование каталога файлов;вывод каталога файлов;удаление файлов... - C++
Уважаемые хакеры!Прошу вашей помощи!Я в СИ не особо шарю.((( А на днях уже сдавать.Очень рассчитываю на любую вашу помощь. Вот задача. ...

Дата создания каталога/папки - C++
Как программно получить время создания папки/каталога и можно ли время создания папки/каталога программно изменять? Например, для файла...

Мониторинг каталога на предмет изменения содержимого - C++
Нужно написать функция (или подпрограмму) которая мониторит каталог. Если какой либо файл в каталоге изменился (поменялся размер,...

Удаление непустого каталога - C++
Написал функцию удаления непустого каталога deltree, компилируется нормально, да и с логикой ВРОДЕ все норм, т.к. блок-схему сперва...

Дописать удаление товаров из каталога - C++
Разработать программу ведения каталога товаров на основе структур, имеющих следующие поля: номер, дата, наименование товара, цена,...

16
-=ЮрА=-
Заблокирован
Автор 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];
}
1
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
16.02.2011, 19:17  [ТС] #3
спасиб,ща попробуем)

Добавлено через 1 час 18 минут
а как подлючить #include <shlobj.h> ??а то выдает ошибку
0
Kastaneda
Нарушитель
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,314
Записей в блоге: 2
Завершенные тесты: 1
16.02.2011, 19:51 #4

Не по теме:

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



Добавлено через 2 минуты
Андрей92, спешл_фор_ю
На сколько я понял, это чисто Borland'овская приблуда.
0
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
16.02.2011, 20:43  [ТС] #5
чё то не получилось,а без <shlobj.h> прога будет работать??и для чего shlobj.h вообще нужен?
0
-=ЮрА=-
Заблокирован
Автор 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 тоже...
2
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
20.02.2011, 11:28  [ТС] #7
а при создания каталога,как можно узнать что он вообще создался??
0
-=ЮрА=-
Заблокирован
Автор FAQ
20.02.2011, 16:00 #8
1-й самый простой, открыть диск С в эксплорере и поглядеть, ну это очень тривиально)))
2-й вбей
C++
1
system("explorer C:\\Temp");
для подключения заголовка system необходим stdlib.h
3 - можно использовать функцию ShellExecute но это уже слишком в условиях поставленной задачи...
0
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
20.02.2011, 20:34  [ТС] #9
а,спасиб
0
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
21.02.2011, 16:26  [ТС] #10
не подскажете чё тут ошибку выдает?
0
Миниатюры
перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)  
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
21.02.2011, 20:34 #11
Андрей92, Это ворнинг. Уберите break;
0
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
21.02.2011, 21:25  [ТС] #12
если убераешь break то прога не выполняет операции
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
22.02.2011, 01:51 #13
Андрей92, С какого это? Все она выполняет. Там return в default идет - выход из функции. break там точно не нужен
0
Андрей92
0 / 0 / 0
Регистрация: 10.02.2011
Сообщений: 15
22.02.2011, 07:21  [ТС] #14
откомпелировал,нажимаю ctrl+f9 выбираю что мне нужно сделать,например создать каталог,нажимаю 1,а оно не создает,пару дней назад всё было норм,создавало,удаляло каталоги,а щас чёто не
0
Миниатюры
перации создания каталога, изменения временного каталога, удаление файла и директории (рекурсивно)  
-=ЮрА=-
Заблокирован
Автор FAQ
22.02.2011, 11:24 #15
Я билдер не люблю, но решил всё таки разобраться почему у тебя не компилится проект. BC.EXE сообщил при линковании об 1-м предупреждении, закоментируй код как я показал на картинке, после этого программа работает, сам тестил!!!
0
Изображения
 
22.02.2011, 11:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2011, 11:24
Привет! Вот еще темы с ответами:

Запуск и последующее удаление всех исполняемых файлов из каталога - C++
Здравствуйте. Прошу помочь написать программу, которая бы запускала все исполняемые файлы (.exe, .bat, .cmd) из заданного каталога, а потом...

Выделить из полного имени файла название последнего каталога - C++
Дана строка, содержащая полное имя файла. Выделить из этой строки название последнего каталога (без символов «\»). Если файл содержится в...

Сканирование каталога - C++
Ребята подскажите пажалуйста как просканировать текущий каталог на наличие файлов(просмотреть все файлы которые там находятся) ?

Просмотр каталога - C++
Столкнулся с такой проблемой: необходимо проверить все папки данного каталога A/ на наличие в них файла &quot;1.txt&quot; То есть, нужно...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru