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

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

Войти
Регистрация
Восстановить пароль
 
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
#1

Объясните про strchr - C++

24.10.2012, 19:07. Просмотров 618. Ответов 3
Метки нет (Все метки)

pch-str+1 - 1).что это значит? Координально не понятно, ведь строкой выше, а именно pch=strchr(str,'s') мы присвоили pch адрес переменной s, которая в нашем случае будет встречаться в слове "This".

2).Собственно как вообще мы что-то может отнимать, да потом ещё и прибавлять str(вроде бы в данном случае он указатель)?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the 's' character in \"%s\"...\n",str);
  pch=strchr(str,'s');
  printf ("found at %d\n",pch-str+1); 
 
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2012, 19:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните про strchr (C++):

Объясните про инициализацию - C++
Реализовал свой класс для строки (в качестве практики изучения c++) class TString { char* p; int size; public: ...

Объясните про наследование - C++
class A { protected: int n; // закрыты для A, но доступны для B public: virtual void func(void) = 0; }; class B: public...

Популярно объясните про указатели - C++
Что-то плохо даётся мне тема про указатели. Я хорошо уяснил, что вот так создаётся указатель: int *pointer; Я так же хорошо...

Объясните задачу про представление вещественных чисел в памяти компьютера - C++
Собственно знать как и что представляется в компе - необходимо, а особенно как представляются вещественные числа. Как я рассуждаю: ...

strchr - C++
помогите пожалуйста реализовать данную функцию &quot;вручную&quot;.. и еще один вопросик.... есть символьный массив ну допустим {'1', '6', '4',...

Функция strchr - C++
Наткнулся я на функцию strchr и не могу понять что она делает можете мне привести пример-код где демонстрируются возможности этой функции и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
24.10.2012, 19:11 #2
Цитата Сообщение от aleksand Посмотреть сообщение
2).Собственно как вообще мы что-то может отнимать, да потом ещё и прибавлять str(вроде бы в данном случае он указатель)?
Обыкновенная адресная арифметика

Цитата Сообщение от aleksand Посмотреть сообщение
1).что это значит? Координально не понятно, ведь строкой выше, а именно pch=strchr(str,'s') мы присвоили pch адрес переменной s, которая в нашем случае будет встречаться в слове "This".
pch будет указателем на место в str, где встречается символ 's'
C++
1
pch-str+1
разница адреса 's' и адреса начала строки. В результате получим порядковый номер буквы "s" в строке (не путайте с индексом в массиве)
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185
24.10.2012, 19:14  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Обыкновенная адресная арифметика


pch будет указателем на место в str, где встречается символ 's'
C++
1
pch-str+1
разница адреса 's' и адреса начала строки
Не читал ещё про адресную арифметику. Можете подсказать что-нибудь по этому поводу?
Croessmah
Модератор
Эксперт CЭксперт С++
13139 / 7402 / 829
Регистрация: 27.09.2012
Сообщений: 18,243
Записей в блоге: 3
Завершенные тесты: 1
24.10.2012, 19:23 #4
Цитата Сообщение от aleksand Посмотреть сообщение
Не читал ещё про адресную арифметику. Можете подсказать что-нибудь по этому поводу?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "This is a sample string";
  int i=0;
    while(*(str+i))printf("%s\n",(str+i++));
    getchar();
  return 0;
}
А так почитайте про "операции с указателями"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 19:23
Привет! Вот еще темы с ответами:

функция strchr - C++
мне надо написать аналог функции strchr. т.к. по заданию нельзя использовать &lt;string.h&gt;

Функция strchr (Язык Си) -не выполняет=( - C++
Не могу понять почему не работает, обьясните, пожалуйста, как исправить!! вот такое работает (это пример из компилятора): char...

создать функцию-аналог strstr, strchr - C++
Задание : разработать собственную функцию-аналог strchr и функцию-аналог strstr :help:

Сбой при нулевой выдаче у функций strchr и strstr - C++
Заранее извиняюсь за свои скудные познания в данной теме. Может быть кто нибудь сталкивался с подобной проблемой. В теории если функции не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.10.2012, 19:23
Ответ Создать тему
Опции темы

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