Быстрое сравнение C

В рамках протокола я получаю строку C следующего формата:
СЛОВО * СЛОВО
Где оба СЛОВА - это одна и та же заданная строка.
И, * - любая строка печатаемых символов, НЕ включая пробелы!

Итак, все следующие допустимы:

  • СЛОВО asjdfnkn СЛОВО
  • СЛОВО 234kjk2nd32jk СЛОВО

И следующие недопустимы:

  1. СЛОВО akldmWORD
  2. СЛОВО asdm zz СЛОВО
  3. НЕ СЛОВО admkas СЛОВО
  4. NOTWORD admkas NOTWORD

Где (1) отсутствует конечный пробел; (2) имеет 3 или более пробелов; (3) / (4) не открываются / не заканчиваются правильной строкой (WORD).

Конечно, это можно было бы реализовать довольно просто, однако я не уверен, что то, что я делаю, является наиболее эффективным . Примечание: WORD предварительно установлен для всего прогона, однако может меняться от прогона к запуску.

В настоящее время я сравниваю каждую строку с «WORD». Если это выполняется вручную (по символам), запускайте строку, чтобы проверить наличие второго символа пробела.
[Если найдено] Я затем strcmp (полностью) с "WORD".

Хотел бы услышать ваше решение с упором на эффективность, поскольку я буду проверять миллионы тезисов в режиме реального времени.

5
задан Trevor 10 July 2011 в 21:18
поделиться