1. Си / Говнокод #3419

    +137

    1. 1
    strncat (dstring, " ", 512);

    Калифорнийский код, простенько, но со вкусом. Сам не с первого раза понял в чём дело ;-)

    Запостил: raorn, 08 Июня 2010

    Комментарии (16) RSS

    • Вкуса что-то я тут не вижу ... только запашок.
      Ответить
    • Автор кода перепутал функцию со strcat_s?
      Ответить
    • Кэээп, нахера именно 512, когда явно добавится не больше 1 символа?
      Ответить
      • Там выше по коду char dstring[512];
        Ответить
      • а вдруг длинна dstring 511?
        Ответить
        • И что? К дстрингу добавится один пробел, и всё. Нахрена 511?
          Ответить
        • И что? strncat не это проверяет:
          STRCAT(3)                  Руководство программиста                  STRCAT(3)
          
          НАЗВАНИЕ
                 strcat, strncat - объединение (конкатенация) двух строк
          
          СИНТАКСИС
                 #include <string.h>
          
                 char *strcat(char *dest, const char *src);
          
                 char *strncat(char *dest, const char *src, size_t n);
          
          ОПИСАНИЕ
                 Функция  strcat()  добавляет строку str к строке dest, перезаписывая символ ‘\0’ в конце dest, и добавляя
                 завершающий символ ‘\0’. Строки не могут перекрываться,  а  в  dest  должно  быть  достаточно  места  для
                 размещения результата.
          
                 Функция strncat() работает похожим образом, но добавляет к dest только первые n символов строки src.
          Ответить
          • А то, что нахрена там 512? Добавится только пробел, на этом функция остановится.
            Ответить
            • Возможно, автор надеялся ограничить длину выходной строки? Или дополнить входную пробелами до 512? Кто знает, чего у него там на уме...
              Ответить
          • ууубля... век живи - век учись... никогда бы не подумал... всегда считал что n ограничивает результат...
            Ответить
            • Хорошо, что онанимус в отпуске, он бы уже тут всё поносом обрызгал, что мы типа все дебилы.
              Ответить
            • Вы перепутали с strcat_s.
              Ответить
          • ааааа
            маны на русском!
            Ответить

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