Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Использование принципов ООП для поиска в файлах разного типа (http://forum.oszone.net/showthread.php?t=291532)

lixod96 24-11-2014 16:05 2434723

Использование принципов ООП для поиска в файлах разного типа
 
Программа должна осуществлять поиск введенного слова или фразы во всех файлах каталога (с возможностью сканирования подкаталогов) и выводить результаты поиска.

Iska 24-11-2014 16:41 2434737

Цитата:

Цитата lixod96
Программа должна… »

Правила Форума:
Цитата:

6. Вопросы, в которых нет кода и следов ваших размышлений над поставленной задачей также будут перенесены в закрытую тему - Уголок Ленивого Программиста

mrcnn 24-11-2014 17:32 2434766

Так у них и мыслей то нет о том как делать. Чтобы были мысли, нужно знать. А узнать неоткуда, поэтому они задают на форуме вопрос.

Нахождени файлов производится функциями 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 2436690

mrcnn, Это не совсем то, т.к. здесь нет принципов использования ООП. Об этом также сказал Iska выше. :)
Цитата:

Цитата Iska
Вы забыли про ООП

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

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


Время: 21:05.

Время: 21:05.
© OSzone.net 2001-