C++: Перевести строку в нижний регистр.

В си есть функция для перевода в нижний регистр strlwr(), но можно написать и собственную реализацию:

2 Responses

  1. abcdw 17.12.2011 / 21:39

    крайне рекомендую придерживаться какого-либо стиля программирования (java/GNU/etc prgramming style).
    не смешивайте C и C++ это весьма разные языки.

    в этой программе допущена весьма значительная ошибка, превращающая асимптотику O(N) в O(N^2).
    функция length(s) находит длину строки примерно таким способом:

    очевидно считать в цикле каждый раз длину строки долго.

    решение:
    L = length(s);
    цикл до L;

    так же настоятельно рекомендую переходить на чистый С++.
    http://www.cplusplus.com/reference/string/string/ — плюсовые стринги имеют гораздо более удобный интерфейс.

    • Pyatnitsev 18.12.2011 / 02:36

      Можно и перейти. Согласен, что в C++ строки лучше. В чистом си нет понятия строки. Есть массив символов и всё…
      Но иногда приходится работать и с ним. Однако, и в нативном си можно что-то улучшить, например введя динамическую память.

      Про ошибку: в большом проекте — да. Но здесь это настолько не важно…
      Но да, вы правы.

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