Не советую читать Прата, т.к. инфа там устаревшая и местами не актуальная. Лучше начните с Стенли Б. Липпман "с++ Primer", который уже упоминался в ответе ниже. Это будет действительно мощное и доскональное введение в плюсы. Дальше книги Скотт Майерса. Ну а дальше в зависимости от выбранного направления.
Липпман и Майерс - обязательные книги по плюсам. ИМХО
И если Вам нужно проработать какой-то материал из книги на компьютере, то не надо спрашивать на это разрешение у кого-то. Просто откройте книгу/pdf и работайте.
Это ответ по существу.
После прочтения не одной книги, вопросов о том "как читать книги" не возникает. Кому-то норм в аудио слушать, кому-то в электронном норм, кто-то бумагу больше любит. Так же знаю нескольких людей, которые прочитали не один десяток книг с экрана маленького мобильного телефона, на подобии Sony Ericsson K750. Это всё сугубо ИНДИВИДУАЛЬНО!
Просто начните читать.
Если переменную j и указатель p1 разместить внутри функции - то не работает( А если переменную j вынести, то работает. А с переменной i работает в любом случае.
1. Какое Вам дело?
2. Даже боюсь представить что натолкнуло вас на эту мысль.
3. Как ваше сообщение связано с вопросом?
4. Я не просил готовое решение и перед тем как задать вопрос написал почти рабочий код с комментариями и своими мыслями.
@Lol4t0 Да, действительно косяк был тут. Ток походу не из-за того, когда одновременно заканчиваются. На стаке подсказали сделать вот так. Ща буду разбираться почему так, а не так как у меня)
for(i;*st == *pa && *st;i++)
Если Heldloworld, то возвращалось 2. Т.е. правильное ожидаемое значение.
По первому пункту исправил) pa-=i st-=i Спасибо)
И вычислил позицию. return (st-i)-str
Только вот почему-то работает багануто(
Если на вход подавать к примеру
char a[] = "world!";
char b[] = "ld!";
То всё работает.
А если:
char a[] = "Helloworld!";
char b[] = "ld!";
То возвращается -1(
а как получить адрес какого-нибудь элемента, что бы можно было прибавлять к нему ячейки? Что бы реализовать функцию через сдвиг указателя, а не перебирая индекс.
блин, ваще запутался в этих указателях, ссылках, адресах))
Variables of built-in type defined inside a function are uninitialized. The value of an uninitialized variable of built-in type is undefined.
Кому верить?) или как понимать?)
Липпман и Майерс - обязательные книги по плюсам. ИМХО