поиск слова в строке=)(VC++6)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
поиск слова в строке=)(VC++6) - 2006-05-19 19:23:47
|
|
|
hladon
Сообщений: 334
Оценки: 0
Присоединился: 2005-12-29 07:46:40
|
блин аж самому стыдно [sm=4.gif] короче в MSDN не посылать - там я ничего не нашел… вопрос следующий: как в VC++6 проверить наличие слова в строке (желательно используя LPCSTR тип)? вручную я задолбаюсь это делать =((
|
|
|
поиск слова в строке=)(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 } }
|
|
|
поиск слова в строке=)(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);
|
|
|
поиск слова в строке=)(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, которая берет с качестве параметров строку и подстроку, а возвращает позицию подстроки в строке.
|
|
|
поиск слова в строке=)(VC++6) - 2006-05-23 19:57:34
|
|
|
MrBlack
Сообщений: 268
Оценки: 0
Присоединился: 2004-05-24 00:02:27
|
Есть такая функция strstr(где_искать, что_искать), возвращает указатель на найденное вхождение или NULL, если не найдено. Соответственно, проверять наличие подстроки так:
if (strstr(строка, подстрока)) …
Это проверка на наличие подстроки, а если тебе надо искать только слово целиком (не учитывать случаи, когда заданная подстрока является частью слова), то придется еще пару строчек написать
|
|
|
|
|