Индексирование слов в тексте по индексу символов.(С) - PullRequest
0 голосов
/ 28 сентября 2019

В данный момент я работаю над коротким заданием, в котором я, учитывая слово, должен распечатать положение этих слов по алфавиту.Попытка сделать это в C. В настоящее время пытаюсь решить проблему, при которой, если слово «it» является входным, «it» и «fit» будет считаться как два вхождения.Вид исправил это для случаев, таких как (это) alics, отслеживая персонажа впереди.Невозможно воспроизвести в обратном направлении.Любая помощь приветствуется.

Код:

void compareWord(char word[], int size){
    char c;
    int index = -1; //Assuming we want first char index in text to be 0.
    char spaceCheck = ' ';
    while ((c = getchar()) != EOF) {
        index++;
        if (c == word[0]) {
            char storing = c;
            char otherWord[size];
            otherWord[0] = c;
            for (int i = 1; i < size ; i++) {
                    otherWord[i] = (storing = getchar());
                    index++;
            }
            if (((storing = getchar()) == ' ' ) || (storing == '\n')  && (strcmp(word, otherWord) == 0)) {
                index++;
                int wordIndex = index;
                wordIndex -= size;
                printf("%d \n", wordIndex);
            } else
                index++;
        }
        spaceCheck = c;
    }
}

int main() {
    char word[] = "it";
    compareWord(word, 2);
}

Переменная 'spaceCheck' была моей попыткой проверить, является ли символ перед словом пробелом или нет.Ранее имелась (spaceCheck == ' ' ) в длинном операторе if, не работала.

1 Ответ

0 голосов
/ 30 сентября 2019

Вы утверждаете, что проблема не находит совпадения встроенных слов,

Предложите использовать функцию: strstr() для поиска встроенных слов

strstr() отображается через файл заголовка: string.h

Полный синтаксис:

char *strstr(const char *haystack, const char *needle);

description: "Функция strstr () находит первое вхождение иглы подстроки в стоге сена. Завершающие нулевые байты ('\ 0') не сравниваются. "

возвращаемое значение:" Эти функции возвращают указатель на начало найденной подстроки или NULL, если подстрока не найдена. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...