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

Указатели char* - конкатенация без <string.h> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как переделать на функцию программу? http://www.cyberforum.ru/cpp-beginners/thread317086.html
#include<stdio.h> #include<conio.h> #include<stdlib.h> using namespace std; int main() { int a; int i,s=0,j=0,k=0; printf("Vash massiv: "); for(i=0;i<15;i++)
C++ Массивы Всем привет, помогите пожалуйста разобраться: Дан массив, нужно записать каждый 3-й элемент этого массива в новый массив. http://www.cyberforum.ru/cpp-beginners/thread317079.html
указатели на функции C++
люди прошу помогите разобраться с задачами ....1. Створити динамічний масив вказівників для збереження двовимірного масиву А у динамічній пам’яті. Скласти програму для підрахунку суми парних...
С помощью перегрузки операторов складывать, вычитать натуральные дроби C++
Господа, делали лабу, задачка на дроби. С помощью дружественного класса нужно было складывать, вычитать натуральные дроби. Вроде что-то наваял(сам,честно), но у меня вопрос: можно ли сделать подобное...
C++ Задaчa-курсач про клетки и их стороны http://www.cyberforum.ru/cpp-beginners/thread317063.html
Вася нарисовал на клетчатой бумаге многоугольник,все стороны которого проходят по линиям сетки.После этого в каждой клетке он написал число равное количеству сторон данной клетки которые...
C++ Ошибка С2664 error C2664: MessageBoxW: невозможно преобразовать параметр 2 из 'const char ' в 'LPCWSTR' 1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast,... подробнее

Показать сообщение отдельно
x-positive
1 / 1 / 0
Регистрация: 09.02.2011
Сообщений: 21
10.06.2011, 22:00  [ТС]
Всё по порядку:

accept, разделять на строки не было времени, старался срочно успеть решить программу, потому задался целью найти и устранить ошибки )

уже когда вішел из дому, обнаружил отсутствие строки free(find); в конце.
добавил.

что касается алгоритма поиска.
изначально он был устроен иначе и работал.
тем не менее сбои были и без того.
это не из-за поиска.
добавил необходимые изменения, которые вчера почему-то спросонья стёр)))
опять же обнаружил уже уехав.

вот как выглядит поиск. тут уже кажется без ошибок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
char* StrStr(char*s, char*s1)
{
 char *copy_s, *copy_s1 = s1;
 while (*s)
  {
   copy_s = s;
   while(*s++ == *s1++)
    if (!s1) return copy_s;
   s1 = copy_s1;
  }
 return NULL;
}


На счёт трёх указателей, это хорошо подмечено) Можно обойтись и двумя в данном случае.

Да впринципе всё хорошо подмечено, глаз зоркий)))

Ну конечно getche().... даже не знаю что сказать.
Считывание должно быть посимвольным, для того чтобы длина строки могла не ограничиваться 128.
Важное условие.
А что мне в этом случае поможет лучше чем getche() не знаю. Может getc() лучше.. Я не знаю разницу между ними ещё...

Запутанные конструкции...мой метод. Лучше пока не придумал, да и не задавался целью. Опять же потому что эта часть кода срабатывала на ура без использования функции вставки. Поэтому не думал что это может вызвать сбой...

Не выделять память? Изменение то необходимо. А выделение памяти поставил на фонарь... Искал пути решения проблемы...и... Убираю...)

"потеря указателя из find происходит ещё на раннем этапе"
Стоп. А мне он необходим? Если это важно, расскажите поподробнее.. Я в работу указателей только начинаю вникать... Никак не могу разобраться. Со строками начал знакомится. С выделением памяти вообще не знаком. Просто знаю, что важно. Очень интересно разобраться.

Спасибо!

-=ЮрА=-

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