сравнение строк c ++ - PullRequest
       20

сравнение строк c ++

1 голос
/ 04 января 2011

Если у меня есть две части символьных данных, как лучше всего сравнить их (проверить на равенство с ==)? То есть какой тип лучше всего подходит для этого сравнения? Константный символ *, строка?

Большое спасибо

1 Ответ

15 голосов
/ 04 января 2011

Если ваша цель - просто сравнить строки на равенство, тогда на самом деле не имеет значения, используете ли вы строки с нулевым символом в конце или какой-либо контейнер строк, такой как std::string.

Вы можете использовать std::strcmp для сравнения двух строк с нулевым символом в конце так же легко, как вы можете использовать operator== для сравнения двух std::string объектов.Перегруженный оператор делает код чище и легче читать в большинстве случаев.

Конечно, поскольку вы программируете на C ++, вы должны использовать std::string или какой-либо другой строковый контейнер и не манипулировать необработанным нулевым значением.завершенные данные, где это возможно.

...