strstr () для строки, НЕ заканчивающейся нулем

Как мне сделать на месте эквивалент strstr () для подсчитанной строки (то есть не с завершающим нулем) в C?

27
задан Mehrdad 21 December 2011 в 03:11
поделиться

1 ответ

Я использовал этот метод

int memsearch(char* dataset, int datasetLength, char* target, int targetLen){
    for(int i = 0; i < datasetLength; i++){
            if(dataset[i] == target[0]){
                    int found = 1;
                    for(int j = 0; j < targetLen; j++){
                            int k = i + j;
                            if(k >= datasetLength || target[j] != dataset[k]){
                                    found = 0;
                                    break;
                            }
                    }
                    if(found) return i;
            }
    }
    return -1;
}
0
ответ дан 28 November 2019 в 05:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: