Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

поиск слова в строке=)(VC++6)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> поиск слова в строке=)(VC++6)
Имя
Сообщение << Старые топики   Новые топики >>
поиск слова в строке=)(VC++6) - 2006-05-19 19:23:47   
hladon

Сообщений: 334
Оценки: 0
Присоединился: 2005-12-29 07:46:40
блин аж самому стыдно [sm=4.gif]
короче в MSDN не посылать - там я ничего не нашел…
вопрос следующий: как в VC++6 проверить наличие слова в строке (желательно используя LPCSTR тип)? вручную я задолбаюсь это делать =((
Post #: 1
поиск слова в строке=)(VC++6) - 2006-05-20 05:19:18   
::Frei::

Сообщений: 29
Оценки: 0
Присоединился: 2006-04-20 04:50:59
Пример из MSDN'а.
А говоришь искал…. [sm=12.gif]

// crt_strtok.c
// compile with: /W1
// In this program, a loop uses strtok
// to print all the tokens (separated by commas
// or blanks) in the string named "string".
//
#include <string.h>
#include <stdio.h>
char string[] = "A string\tof ,,tokens\nand some more tokens";/*Слова*/
char seps[] = " ,\t\n";/*Возможные разделители*/
char *token;
int main( void )
{
printf( "Tokens:\n" );
// Establish string and get the first token:
token = strtok( string, seps ); // C4996
// Note: strtok is deprecated; consider using strtok_s instead
while( token != NULL )
{
// While there are tokens in "string"
printf( " %s\n", token );
// Get next token:
token = strtok( NULL, seps ); // C4996
}
}
Post #: 2
поиск слова в строке=)(VC++6) - 2006-05-20 16:15:32   
hladon

Сообщений: 334
Оценки: 0
Присоединился: 2005-12-29 07:46:40
дыу у меня мсдн от vc 2005 .net - там есть только поиск символа в строке (покраинеймере я не на шел чтоб одной функцией и сразу =))), winapi там вооще мало уделено на мой взгляд - в -основном метров 500 всякой требущи кроссплатформенной=))
я режил эту проблему как минимум через }|{ (после поста здесь, когда за день так никто и не ответил):
if ((strcspn(str,"M")!=strlen(str))
&&(strcspn(str,"i")!=strlen(str))
&&(strcspn(str,"c")!=strlen(str))
&&(strcspn(str,"r")!=strlen(str))
&&(strcspn(str,"o")!=strlen(str))
&&(strcspn(str,"s")!=strlen(str))
&&(strcspn(str,"o")!=strlen(str))
&&(strcspn(str,"f")!=strlen(str))
&&(strcspn(str,"t")!=strlen(str)))Showwindоw(hwnd0,SW_HIDE);


Post #: 3
поиск слова в строке=)(VC++6) - 2006-05-23 15:26:39   
voody

Сообщений: 958
Оценки: 0
Присоединился: 2005-02-06 22:28:30

Не знаю, как насчет VC ++, но в Borland C++ Builder'e можно подключить к программе strutils.hpp, и юзать функцию AnsiPos, которая берет с качестве параметров строку и подстроку, а возвращает позицию подстроки в строке.
Post #: 4
поиск слова в строке=)(VC++6) - 2006-05-23 19:57:34   
MrBlack

Сообщений: 268
Оценки: 0
Присоединился: 2004-05-24 00:02:27
Есть такая функция strstr(где_искать, что_искать), возвращает указатель на найденное вхождение или NULL, если не найдено.
Соответственно, проверять наличие подстроки так:

if (strstr(строка, подстрока)) …

Это проверка на наличие подстроки, а если тебе надо искать только слово целиком (не учитывать случаи, когда заданная подстрока является частью слова), то придется еще пару строчек написать
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> поиск слова в строке=)(VC++6)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.