PDA

Показать полную графическую версию : Использование принципов ООП для поиска в файлах разного типа


lixod96
24-11-2014, 16:05
Программа должна осуществлять поиск введенного слова или фразы во всех файлах каталога (с возможностью сканирования подкаталогов) и выводить результаты поиска.

Iska
24-11-2014, 16:41
Программа должна… »
Правила Форума (http://forum.oszone.net/announcement-21-187.html):
6. Вопросы, в которых нет кода и следов ваших размышлений над поставленной задачей также будут перенесены в закрытую тему - Уголок Ленивого Программиста (http://forum.oszone.net/thread-223125.html)

mrcnn
24-11-2014, 17:32
Так у них и мыслей то нет о том как делать. Чтобы были мысли, нужно знать. А узнать неоткуда, поэтому они задают на форуме вопрос.

Нахождени файлов производится функциями FindFirstFile и FindNextFile
HANDLE hl;
WIN32_FIND_DATA wf;
hl = FindFirstFile("*\0", &wf);
printf("%s\n", wf.cFileName);
while(FindNextFile(hl, &wf) )
printf("%s\n", wf.cFileName);

На чтение файл открывается

#include <stdio.h>
#include <windows.h>

#pragma comment(lib, "user32.lib")
#pragma comment(lib, "kernel32.lib")
#pragma comment(lib, "gdi32.lib")


void main()
{
int i;
HANDLE h;
unsigned char r[16];
DWORD d;
DWORD rd;

rd = 0;

h = CreateFile("t.exe", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
ReadFile(h, r, 16, &d, 0);
rd+=d;
while(d > 0)
{
for(i = 0; i < 16; i++)
{
if ( r[i] <= 0xf)
printf("0%x ", r[i]);
else
printf("%x ", r[i]);
}
for(i = 0; i <16; i++)
printf("%c", r[i]);
printf("\n");
ReadFile(h, r, 16, &d, 0);
rd+=d;
}
printf("\nread: %d\n", rd);
}

Drongo
28-11-2014, 03:59
mrcnn, Это не совсем то, т.к. здесь нет принципов использования ООП. Об этом также сказал Iska выше. :)
Вы забыли про ООП

И поскольку автор задачу для фрилансеров расписал с деталями, пусть ему за мзду делают решение.

Тема закрыта.




© OSzone.net 2001-2012