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

Найти имена подкаталогов в папке, после изменения имени любого из них вывести сообщение в виде: старое имя = новое имя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ JSONparser: из js в c++ http://www.cyberforum.ru/cpp-beginners/thread1153728.html
Использую встроенный в rad X4 парсер DBXJSON cтолкнулся со следующей проблемой есть js код "response":, "post_source":{}, "comments":{ "count":0, "can_post":1 }, "likes":{
C++ Отсортировать строки по дате изменения или в алфавитном порядке Доброй ночи, как можно отсортировать строки по дате изменения или в алфавитном порядке в консоли? http://www.cyberforum.ru/cpp-beginners/thread1153726.html
C++ Определить, пересекает ли прямая контур треугольника
Помогите пожалуйста Даны треугольник и прямая . Определить , пересекает ли прямая контур треугольника
C++ Замена подстроки в строке
здесь у меня такая проблема возникла мне нужно заменить все "were" на "are" но "are" меньше на 1 символ я незнаю как его можно заменить помогите пожалуйста но учтите такой момент нужно чтобы можно было заменять replacement и for_replacement на любое слово тоесть replacement и for_replacement может быть на несколько символов больше или меньше тип char обязательный ... int main() { int i...
C++ Нахождение сложения и сумм элемента, находящегося между самыми маленькими и самыми большими элементами массива http://www.cyberforum.ru/cpp-beginners/thread1153716.html
задан массив А(30) нужно создать программу для нахождения сложения и сумм этого элемента находящееся между самыми маленькими и самыми большими элементами массива
C++ Fwrite и freed, запись массива структур в файл Структура struct str { int date; }; Запись в структуру void GetData(str *M, int N) { cin.ignore(); for (int i = 0; i<N; i++) подробнее

Показать сообщение отдельно
NNN7
7 / 7 / 3
Регистрация: 05.09.2013
Сообщений: 502
21.04.2014, 23:29     Найти имена подкаталогов в папке, после изменения имени любого из них вывести сообщение в виде: старое имя = новое имя
Здравствуйте .
Мне нужно найти имена подкаталогов в папке ,а после изменения имени любого подкаталога вывести сообщение в виде:
старое имя = .... , новое имя = .... .

Имена файлов сохраняю в контейнер set.

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
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <stdio.h>
#include <list>
#include <set>
#include <string>
#include <iterator> 
using namespace std;
 
 
 
HANDLE hndl,hFind,hFind2;
WIN32_FIND_DATA fd,FindFileData,FindFileData2;
BOOL bRet = TRUE;
BOOL bRet2 = TRUE;
 
 
set <string> dir;
set <string> dir2;
 
 
int _tmain(int argc, _TCHAR* argv[])
{  char name [10] = _T("C:\\test");
    
//инициализация дескриптора оповещаний
    hndl = FindFirstChangeNotification (_T(name), TRUE ,FILE_NOTIFY_CHANGE_DIR_NAME);
    //если дескриптор не получен
    if(hndl==INVALID_HANDLE_VALUE)
    {cout<<"Invalid Handle"<<endl;
     int error=GetLastError();
     cout<<endl<<"error="<<error;
  }
    /*поиск подкаталогов*/
   hFind=FindFirstFile(_T("C:\\test\\*.*"),&FindFileData);
 
   while(hFind!=INVALID_HANDLE_VALUE  && bRet)
    
    {
        if((FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
        {  
            dir.insert(FindFileData.cFileName);
            
        }
        
 
        bRet=FindNextFile(hFind,&FindFileData);
    }
//вывод подкаталогов 
 copy(dir.begin(), dir.end(), ostream_iterator<std::string>(std::cout, "\n"));
FindClose (hFind);
 
//ожидание оповещаний
    //если имя каталога изменено
  if(WaitForSingleObject (hndl,INFINITE) != WAIT_FAILED)
   {cout<<" Dir name changed!"<<endl;
  
   }
FindCloseChangeNotification (hndl);
 
 
//снова проверяем подкаталоги 
 
/*поиск подкаталогов*/
   hFind2=FindFirstFile(_T("C:\\test\\*.*"),&FindFileData2);
 
   while(hFind!=INVALID_HANDLE_VALUE  && bRet2)
    
    {
        if((FindFileData2.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
        {  
            dir2.insert(FindFileData2.cFileName);
            
        }
        
 
        bRet2=FindNextFile(hFind2,&FindFileData2);
    }
//вывод подкаталогов 
 copy(dir2.begin(), dir2.end(), ostream_iterator<std::string>(std::cout, "\n"));
FindClose (hFind2);
 
 
 
    return 0;
}
Но они у меня выводятся все .
Как сделать , чтобы выводилось в виде старое имя = .... , новое имя = .... ?
Подскажите, пожалуйста .
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru