powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / простой вопрос..
12 сообщений из 12, страница 1 из 1
простой вопрос..
    #34142138
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
  char *ptr(NULL);
  ptr = strstr("str[0]", "[0]");

не находит подстроку, почему??
...
Рейтинг: 0 / 0
простой вопрос..
    #34142304
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня работает

Код: plaintext
1.
    char *ptr = NULL;
    ptr= strstr( (char *)"str[0]", "[0]");
...
Рейтинг: 0 / 0
простой вопрос..
    #34142335
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikу меня работает

Код: plaintext
1.
    char *ptr = NULL;
    ptr= strstr( (char *)"str[0]", "[0]");



и у меня сейчас работает дома, даже без всяких приведений типа (char *), а на другом компе работала пока небыло символов [ и ], а с ними 0x00000000 возвращала, ниче не пойму (
...
Рейтинг: 0 / 0
простой вопрос..
    #34142339
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// strstr.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

int main(int argc, char* argv[])
{
	char *str_ptr(NULL);

	str_ptr = (char *)malloc(strlen("12345\\[]")+ 1 );
	strcpy(str_ptr, "12345\\[]");

	str_ptr = strstr(str_ptr, "[\\");//str_ptr получается равен 0x0000000, ПОЧЕМУ???
	return  0 ;
}

вот так все равно не выходит(( может поздно уже?
...
Рейтинг: 0 / 0
простой вопрос..
    #34142362
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrikвот так все равно не выходит(( может поздно уже?
А так что получается?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
// strstr.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

int main(int argc, char* argv[])
{
	char *str_ptr(NULL);

	str_ptr = (char *)malloc(strlen("12345\\[]")+ 1 );
        if(str_ptr==NULL)
             {
             printf("malloc() failed!");
             return - 1 ;
             }
	strcpy(str_ptr, "12345\\[]");

	str_ptr = strstr(str_ptr, "[\\");//str_ptr получается равен 0x0000000, ПОЧЕМУ???
	return  0 ;
}
...
Рейтинг: 0 / 0
простой вопрос..
    #34142604
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// strstr.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

int main(int argc, char* argv[])
{
	char *str_ptr(NULL);

	str_ptr = (char *)malloc(strlen("12345\\[]")+ 1 );
	strcpy(str_ptr, "12345\\[]");

	str_ptr = strstr(str_ptr, "[\\");//str_ptr получается равен 0x0000000, ПОЧЕМУ???
	return  0 ;
}

вот так все равно не выходит(( может поздно уже?

Нет же строки [\ в 12345\[]
...
Рейтинг: 0 / 0
простой вопрос..
    #34143974
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh

Нет же строки [\ в 12345\[]

Действительно нет. Дядька Шилдт обманул малость. Или?
...................................
<<Полный справочник по С++ 4-е издание. Геберд Шилдт>>
Функция strstr
Код: plaintext
1.
#include <cstring>
char *strstr(const char *str1, const char *str2);

Функция strstr() возвращает указательна первое вхождение символа из строки str1 , совпадающего с каким-либо символом из строки str2 . Если вхождение не обнаружено, возвращается нулевой указатель.

Герберт Шилдт (Herbert Schildt) Полный справочник по Си (неизвестное издание)
Функция strstr
Код: plaintext
1.
#include <string.h>
char *strstr(const char *str1, const char *str2);

Функция strstr() возвращает указатель на первое вхождение подстроки , адресуемой параметром str2, в строку, адресуемую параметром str1. Если совпадение не обнаружено, возвращается нулевой указатель.
...
Рейтинг: 0 / 0
простой вопрос..
    #34144016
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik Akh

Нет же строки [\ в 12345\[]

Действительно нет. Дядька Шилдт обманул малость. Или?


Ну и что у тебя в #include "stdafx.h"?
...
Рейтинг: 0 / 0
простой вопрос..
    #34144063
Tubrik Akh

Нет же строки [\ в 12345\[]

Действительно нет. Дядька Шилдт обманул малость. Или?
...................................
<<Полный справочник по С++ 4-е издание. Геберд Шилдт>>
Функция strstr
Код: plaintext
1.
#include <cstring>
char *strstr(const char *str1, const char *str2);

Функция strstr() возвращает указательна первое вхождение символа из строки str1 , совпадающего с каким-либо символом из строки str2 . Если вхождение не обнаружено, возвращается нулевой указатель.

Герберт Шилдт (Herbert Schildt) Полный справочник по Си (неизвестное издание)
Функция strstr
Код: plaintext
1.
#include <string.h>
char *strstr(const char *str1, const char *str2);

Функция strstr() возвращает указатель на первое вхождение подстроки , адресуемой параметром str2, в строку, адресуемую параметром str1. Если совпадение не обнаружено, возвращается нулевой указатель.
Читаем MSDN:
MSDN Help
strstr
Find a substring.

char *strstr( const char *string, const char *strCharSet );

Routine Required Header Compatibility
strstr <string.h> ANSI, Win 95, Win NT

Return Value

... function return a pointer to the first occurrence of strCharSet in string, or NULL if strCharSet does not appear in string . If strCharSet points to a string of zero length, the function returns string.

Parameters

string

Null-terminated string to search

strCharSet

Null-terminated string to search for

Remarks

The strstr function returns a pointer to the first occurrence of strCharSet in string. The search does not include terminating null characters....

Таким образом, что-то напутали наши переводчики в <<Полный справочник по С++ 4-е издание. Геберд Шилдт>>. Правильно будет в Герберт Шилдт (Herbert Schildt) Полный справочник по Си (неизвестное издание)
...
Рейтинг: 0 / 0
простой вопрос..
    #34144204
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akh Tubrik Akh

Нет же строки [\ в 12345\[]

Действительно нет. Дядька Шилдт обманул малость. Или?


Ну и что у тебя в #include "stdafx.h"?

#include <iostream>
#include <tchar.h>

и это я для пробы примера сделал с stdafx.h
...
Рейтинг: 0 / 0
простой вопрос..
    #34144245
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik Akh Tubrik Akh

Нет же строки [\ в 12345\[]

Действительно нет. Дядька Шилдт обманул малость. Или?


Ну и что у тебя в #include "stdafx.h"?

#include <iostream>
#include <tchar.h>

и это я для пробы примера сделал с stdafx.h

C string.h итак все понятно, <cstring>
...
Рейтинг: 0 / 0
простой вопрос..
    #34144248
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и само название функции красноречиво говорит о ее функциональности
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / простой вопрос..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]