Как сравнить две строки в c
Перейти к содержимому

Как сравнить две строки в c

  • автор:

Сравнение строк в языке C

@pavel char word[40]; scanf(«%s», &word[i]); и char **rootie; *rootie = new char[counter2]; for (int i = 0; i > counter2; i++) < for (int j = 0; j >20; j++) < fscanf(roots, "%s", rootie); >> . Ошибку выдает для word.

30 апр 2016 в 14:00

scanf(«%s», &word[i]); эм. вы ТОЧНО знаете что делаете? fscanf(roots, «%s», rootie); не представляю как оно компилируется.

30 апр 2016 в 14:06

*rootie = new char[counter2]; — я не уверен что именно это вы и хотели. Может rootie = new char* [counter2]; ? В общем советую весь код сюда выложить и внимательно посмотреть на типы данных (char char * и char **).

Как сравнивать двух строк типа string?

AtomKrieg

Для class basic_string определён метод compare().
А через него переопределены friend операторы ==, |=, >, =
Все операции могут применяться и к string и к const char* как одному из операндов.
Смысл сравнений — естественный лексографический порядок, который вы поменять (легко) не можете.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
goldstar2154 @goldstar2154

Как правило для всех классов, реализующих работу со строками (CString, std::string, QString), уже доступны перегруженные операторы сравнения <, >, == и т.д. Так же могут существовать методы сравнения с условиями, вроде CompareNoCase.
Если вы реализуете алгоритм быстрой сортировки и хотите реализовать собственные методы сравнения строк, то самым простым вариантом будет пронаследоваться от класса строк и переопределять методы сравнения.
Если вы работаете с char* то посмотрите реализацию memmcmp и strcmp
www.cplusplus.com/reference/cstring/memcmp
www.cplusplus.com/reference/cstring/strcmp
P.S. совет, не изобретайте велосипед, т.к. алгоритмы сортировки оттачивались математиками и программистами много лет. Выигрыш по быстродействию вы сможете ощутить только, если у вас очень специфичные наборы строк.
Например у всех строк первые три символа одинаковы, тогда кастомная сортировка с 4-го символа может дать выигрыш по времени.

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

cpp

  • C++

Почему символ строки с индексом 0 выводит символ под индексом 1?

  • 1 подписчик
  • 9 часов назад
  • 36 просмотров

strcmp в C/C++: разбираемся с примерами

�� Привет! В этой статье мы поговорим о функции strcmp , которая позволяет сравнить две строки между собой. В начале мы рассмотрим несколько примеров использования этой функции, затем реализуем её сами, а в конце вы найдете упражнения для закрепления материала.

Иллюстрация strcmp

Как сравнить строки с помощью strcmp

Для сравнения двух строк в C/C++, можно воспользоваться функцией strcmp . Эта функция доступна после подключения файла . В C++ вы можете подключить .

strcmp принимает две строки и сравнивает по очереди каждый символ между собой. Как только она находит первый символ, который различается, она вернет:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *