Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 17:36   #1
xspider
 
Регистрация: 21.01.2009
Сообщений: 3
По умолчанию Поиск в строке

С++ Builder
Собственно вопрос есть переменная типа char[1005000]]
Как организовать поиск в переменной максимально быстро интересует ток если или нету слова в етой переменной все остальное типа сколько или начальный символ итд не.

в библиотеки stdio.h не нашел .
xspider вне форума Ответить с цитированием
Старый 21.01.2009, 21:59   #2
Goblin
Форумчанин
 
Регистрация: 24.11.2007
Сообщений: 196
По умолчанию

cstring.h на С++
string.h на С
Goblin вне форума Ответить с цитированием
Старый 21.01.2009, 23:11   #3
xspider
 
Регистрация: 21.01.2009
Сообщений: 3
По умолчанию

Проблема в том что испробывал все команды string.h и результат на малеком размере идет отлично но при большом выдает фатальные ошибки.

если импользовать вручную тоесть через цыкс сравнивать все символи искомого слова в етом тексте то занятия будет долгим.
просто прога должна искать в етой переменой около 200 000 раз на день
потомуб нада както поиск сделать болия быстрым
xspider вне форума Ответить с цитированием
Старый 22.01.2009, 09:45   #4
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

объясните более подробно
что есть:
что надо сделать:
что не получается, где застряли
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 22.01.2009, 16:18   #5
xspider
 
Регистрация: 21.01.2009
Сообщений: 3
По умолчанию

Код:
#include "string.h"
#include <stdio.h>

char body[1005000],keyworld[250];
char *body2;
int z;  
.
.
.

 strcpy(keyworld,Edit15->Text.c_str());
  body2=strstr(body,keyworld);
  z=strlen(body2);
  Memo1->Lines->Append(z);
.
.
вот отрывок кода в чем проблема ет функия отлично работает на небольщых размерах переменной но если ет функия ненаходит или слишком далеко от начала ет слово то прога вилетает..

как то умельшыть переменую нельзя...

тоесть вопрос как делать поиск при большых переменых ?

просто мне нада определить если в етом тексте искомое или нет...
но много функций пробывал и не одна неможет справидца с таким обйомом

Последний раз редактировалось MaTBeu; 22.01.2009 в 17:10.
xspider вне форума Ответить с цитированием
Старый 04.02.2009, 21:46   #6
AlexDX
Пользователь
 
Регистрация: 04.02.2009
Сообщений: 10
По умолчанию

Ты думаешь как можно в программном сегменте кода заранее,подготовить нужный участок выделенной памяти, а вдруг
единица размера массива перевалит или хочешь использовать код только
при компиляции. Для того чтобы ошибки не было и программа не содержала заранее выделенный участок памяти для этого используй
системную кучу-heap OS - полностью отдаст процессу столько памяти сколько запросит процесс и не будет никаких ошибок.

Код:
char keyword[250];
	 char *body2;
	 int z;  

	 char*  str = new char[N - количество байт];

	 strcpy(keyworld,Edit15->Text.c_str());
	 body2=strstr(body,keyworld);
	 z=strlen(body2);
	 Memo1->Lines->Append(z);

	 if(str) 
		delete[] str;
	str = NULL;
Модератор: тег CODE

Последний раз редактировалось MaTBeu; 04.02.2009 в 23:17.
AlexDX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и удаление символа в строке Karl_Karlovi4 Общие вопросы Delphi 14 26.10.2011 18:04
Поиск слов в строке Neymexa Общие вопросы C/C++ 3 16.12.2008 18:33
Поиск с строке.. Rom1k06 Microsoft Office Excel 2 15.10.2008 07:42
Поиск текста в строке CoDeR Общие вопросы Delphi 8 02.10.2007 01:01