Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами и директориями в Windows 
:(
    Опции темы
Umnik
Дата 10.3.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



необходимо реализовать следующую программу (прошу лишь наметеить по возможности пути реализации, дальше сам разберусь):

прогарммма выполняет следующее:
1) ищет папку с заданным именем
2)создает тестовый файл (работа с файлом понятна)
3)сохраняет в него путь к папке, и имена всех файлов в ней содержащихся (вместе с их путями уже внутри данной папки) 

вот как реализовать 1 и 3 пункты подскажите пожалуйста!
PM MAIL   Вверх
korian
Дата 10.3.2008, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 2
Всего: 17



функции FindFirstFile, FindNextFile.
если с MFC, то класс CFileFind.
PM   Вверх
Dmi3ev
Дата 10.3.2008, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



сейчас нет времени, а завтра накатаю небольшой пример!
уточни, искать файл надо в какой-то конкретной директории или по всему компу?
записывать все имена файлов, даже скрытых и файлов  ~dfm, например (ну ты понял о чем я)?

Добавлено через 1 минуту и 32 секунды
сори!
искать ПАПКУ надо по всему компу или в конкретном месте?


--------------------

PM MAIL   Вверх
Umnik
Дата 10.3.2008, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



ну посколько точного места нахождения не знаю, то по всему)

нет, скрытые необязательно!

Это сообщение отредактировал(а) Umnik - 10.3.2008, 23:54
PM MAIL   Вверх
Dmi3ev
Дата 11.3.2008, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



раз тебе нужно наметить, слушай
можно так
сначала ищешь, допустим на D (как пример) 
Код

ffblk f;
int i=findfirst("имя папки", &f, FA_DIREC); 

если там нет, то надо сменить директорию, ищешь папочку на D
Код

ffblk d;
int i=findfirst("*", &d, FA_DIREC);

если имя папки не равно "." или ".." то берёшь их в расчет и начинаешь поиск в них, но уже с помощью findnext, например:
Код

i=findnext(&f); или i=findnext(&d);


чтобы переходить по папкам используй chdir("директория") параметр ".." поднимает на уровень вверх по-моему
обратиться к имени можно так f.ff_name
конечно нужно составить цикл пока (если i=0 то есть файлы и папки, иначе поиск закончить)
как-то вот так, удачи


--------------------

PM MAIL   Вверх
Umnik
Дата 11.3.2008, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.10.2007

Репутация: нет
Всего: нет



Вот что я намудрил  smile
Результат работы. Выводит все файлы с разришением и папки без в указанном каталоге (в моем примере C:\\)

Код

#include "stdafx.h"
#include "windows.h"
#include "stdlib.h"


int _tmain(int argc, _TCHAR* argv[])
{
WIN32_FIND_DATA data;
HANDLE handle = FindFirstFile(L"C:\\*.*", &data);
bool IsExit = (handle == INVALID_HANDLE_VALUE);
if(IsExit)
printf("Net directorii ili failov\n");
while ( !IsExit )
    {
    if ( lstrcmpi(data.cFileName, L".") && lstrcmpi(data.cFileName, L"..") )
        printf("%S\n", &(data.cFileName));

    IsExit = !FindNextFile( handle, &data );
    }
FindClose( handle );
system("pause");   
return 0;
}  


Да.... проблема на пробелеме. Он не видит папок/файлов с русскими именами... 


 ! 
archimed7592
Не забываем пользоваться кнопкой "Код" или тэгами [code=xxx][/code]


Это сообщение отредактировал(а) archimed7592 - 15.3.2008, 17:57
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1030 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.