Вот код:
using std::cout;
int CheckArray(const char* str, const char* str1, const size_t size_N) {
for (int i = 0; i < size_N; i++) {
if (str[i] == str1[i]) {
}
else {
return -1;
}
}
return 1;
}
int mystrstr(const char* str, const char* str1) {//хотел зделать подобие strstr(const char*,const char*) только чтоб возращало номер с какого места идёт вхождение строки str1 в str
const size_t str_size = strlen(str);//максимальный допустимый размер проверочной строки(для цикла)
const size_t str1_size = strlen(str1);//размер строки которая подставляеться на проверку (str) на правильность в temp(тоесть temp == str1)
char* temp = new char[str1_size];//временный массив для копирования части целевой строки и будущей проверки
int count_up = 0;//счетчик для вставление в temp с последующим збрасыванием для сравнения новой части строки
int i = 0;//счетчик для копирования str в temp
for (int limit = str1_size; limit <= str_size; limit++) {//проверяем до конца строки
//(потому что count_up будет завершать ниже приведенный цикл и копировать только target_size символов(первую часть) в temp)
for (;count_up < str1_size; i++, count_up++) {//если count_up достигает target_size или i доходит до max_size значит копирование части завершено
temp[count_up] = str[i];//копируем часть строки в временный массив для проверки
}
if (CheckArray(temp, str1, str1_size) == 1) { // если проверка удалась
delete[] temp;//чистим память
return i - str1_size;//возращаем место вхождения строки str1 в str(если отсчитывать от нуля)
}
count_up = 0;//сбрасывание счетчика чтобы не заходить за пределы массива
i -= str1_size - 1;//для того чтобы проверять часть строки смещяясь не на новую строку,а на один символ(ксатате фактически это сломало мне голову)
}
return -1;//сравнивание не удалось
}
Это мое подобие функции strstr() только оно показует место откуда начинаеться входимая строка(если отсчитывать с нуля). Хочу узнать почему я говнокодер и как мне бы оптимизировать мой код,чтоб он работал быстрее и эфективней.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Все делаю по этой инструкции, но выходит ошибка qtsqldrivers-configpri: No such file or directoryЭтого файла у меня вообще нет на компьютере
Делаю проект с компиляцией под несколько платформ на c++Некоторые файлы нужно прогнать утилитой (для простоты понимания скажем, что это транспилятор)
Есть геймпад Aceline CG-1 на USB, который нужно подключить по Serial к Arduino NanoКак можно отслеживать нажатия кнопок (т
Требуется реализовать поиск подстроки в строке с использованием Z-функции