Хочу переписать программу без арифметики указателей

#include <stdio.h>
#include <locale.h>
#include <iostream>
const char* substring(const char* str, const char* substr) {
    const char* p;
    while (*str) {
        const char* s = substr;
        p = str;
        while (*s && *(p++) == *(s++)) {
            if (!*s) {
                return str;
            }
        }
        str++;
    }
    return NULL;
}

int main() {

    setlocale(LC_ALL, "Rus");

    const char* a = "Привет";
    const char* b = "вет";
    std::cout << substring(a, b);

    return 0;
}
Вот я  начал, не пойму как заменить if.
const char* substring1(const char* str, const char* substr) {
    const char* p;
    for (int i = 0; str[i]; i++) {
        const char* s = substr;
        p = str;
        while (s[i] && p[i + 1] == s[i + 1]) {
            if 
        }
    }
}

Ответы (0 шт):