Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
#1

strstr из библиотеки cstring, как должно функционировать? - C++

25.08.2013, 17:01. Просмотров 1020. Ответов 23
Метки нет (Все метки)

Вот у меня есть описание, переписано из книги:

char *strstr(const char *Str1, const char *Str2) - находит первое вхождение в строку Str1 строки Str2. Если строка Str2 найдена, возвращает указатель на нее в строке Str1. В противном случае возвращает нулевой указатель (NULL).

Вот программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
using std::cin;
using std::cout;
using std::endl;
 
#include <string>
 
 
int main()
{
char *Str1 = "Hello world, good day!"; 
char *Str2 = "w0rld"; 
 
cout << strstr(Str1, Str2) << endl; 
 
system("pause");
return 0;
}
В слове world мы заменили "o" на "0" (ноль), вроде как слово не найдено, значит возвращаем NULL, программа запускается но выкидывает ошибку, в чем косяк?

Вот ошибка:
strstr из библиотеки cstring, как должно функционировать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2013, 17:01     strstr из библиотеки cstring, как должно функционировать?
Посмотрите здесь:

Использование стандартной библиотеки cstring - C++
Добрый день. Столкнулся с маленькой проблемой хочу понять более подробные возможности С++. Задача: Напишите программу , которая просит...

Почему у меня для использования функций cstring не нужно включать прототип библиотеки - C++
Я недавно начал осваивать с++ с помощью учебника и там по ходу главы создается тренировочный класс String для работы со строками и в нем...

Как использовать функции string::find или функция strstr(str1 ,str2) - C++
как использовать функции string::find или функция strstr(str1 ,str2) Добавлено через 3 минуты вернее какой у них синтаксис привдети...

string и cstring. Как это устроено? - C++
Здравствуйте. Изучаю азы С++. В процессе возникло несколько вопросов. Вопросы простые, но мне мешают. Во-первых. В стандартном наборе...

Как CString преобразовать к нормальной строке? - C++
// ... CRecordset *m_rs; // ... LVITEM lvi; // ... СString s; m_rs-&gt;GetFieldValue(j, s); lvi.pszText = ?;Тип lvi.pszText -...

Как из CString получить int ... заранее спасибо!! - C++
Проблемка ... Как из CString получить int.... только плиз не советуйте куда заглядывать в MSDN у меня его нету.... СПАСИБО....

Как перевести CString -ское число в Int? - C++
Есть CString -ское число. Как перевести это число в int??? Вот: { m_cap = m_cap + '1'; m_cap = c; int c = attol(m_cap); c =...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
26.08.2013, 12:41  [ТС]     strstr из библиотеки cstring, как должно функционировать? #21
Croessmah, странно, неужели не чувствуется разница между двумя фразами

Цитата Сообщение от Croessmah Посмотреть сообщение
указатель не должен быть равен нулю
как не может, если я пишу char *V = NULL; и все работает

И
Цитата Сообщение от Croessmah Посмотреть сообщение
нельзя передавать указатель на char равный нулю в функцию operator<<
этим, тут действительно, I]char *V = NULL; cout << V;[/I] - ошибка.

В первом варианте не ясно (это мягко сказать, благодаря этому тема растянулась 2 страницы), во-втором все предельно ясно, неужели изначально нельзя потратить немного больше времени и оценить, способен ли получатель ответа понять этот ответ, не пишу ли и я очередное сообщение просто так..
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
26.08.2013, 12:46     strstr из библиотеки cstring, как должно функционировать? #22
В первом моем посте удалено всё лишнее и показано, что указатель на тип char нельзя передавать в operator<<
Цитата Сообщение от VLK Посмотреть сообщение
не чувствуется разница между двумя фразами
На скриншоте пять прототипов функции operator<< и под ними как раз требование к указателю s. Что тут не понятного?
Вы когда книгу читаете тоже сразу конец главы смотрите или все пункты "важно", а остальное нафиг не надо?

Добавлено через 1 минуту
Цитата Сообщение от VLK Посмотреть сообщение
способен ли получатель ответа понять этот ответ
Ну если этот получатель не может читать, то тут уже ничего не поможет...
VLK
193 / 162 / 12
Регистрация: 05.05.2013
Сообщений: 1,225
26.08.2013, 12:55  [ТС]     strstr из библиотеки cstring, как должно функционировать? #23
Цитата Сообщение от Croessmah Посмотреть сообщение
Ну если этот получатель не может читать, то тут уже ничего не поможет...
так как не способен, ответы типа:
Цитата Сообщение от Croessmah Посмотреть сообщение
нельзя передавать указатель на char равный нулю в функцию operator<<
Цитата Сообщение от IGPIGP Посмотреть сообщение
Нулевой указатель это же непечатное.
для меня полностью понятны и это именно то, что я хотел услышать.

А:
strstr из библиотеки cstring, как должно функционировать?
strstr из библиотеки cstring, как должно функционировать?
strstr из библиотеки cstring, как должно функционировать?

это не ответ, а скорее очередная порция вопросов, ну или более подходящим словом будет являться, новые ребусы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2013, 12:59     strstr из библиотеки cstring, как должно функционировать?
Еще ссылки по теме:

Как с использованием CString выбрать слова из строки длинной 4 символа и записать их в файл? - C++
Как с использованием CString выбрать слова из строки длинной 4 символа и записать их в файл?

функция strstr - C++
Кто нибудь может объяснить как использовать функцию strstr со строками? В последней строке кода выдает ошибку &quot;no matching function for...

Функция strstr - C++
Здравствуйте. Объясните новичку почему функция strstr срабатывает всего один раз? Моя программа получает из вне данные , которые затем...

Не работает strstr - C++
Суть проблемы такова: strstr выдаёт нулевое значение, хотя быть такого не может. Искомые данные выделил. При выводе указателей пишет нули...

Функция strstr - C++
необходимо написать функцию strstr самому или точнее вот условие: Реализуйте функцию, которая ищет заданную подстроку в строке и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
26.08.2013, 12:59     strstr из библиотеки cstring, как должно функционировать?
  #24

Не по теме:

facepalm... как бы лоб не разбить

Yandex
Объявления
26.08.2013, 12:59     strstr из библиотеки cstring, как должно функционировать?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru