1. C++ / Говнокод #13851

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    #if defined(_WIN32) || defined(_WIN64)
         size_t size = message.size();
         size_t size_buf = 1015;
    
         size_t pointer = 0;
         for (int i = 0; i < (size/size_buf) + 1 ; i++){
             
             /*Делаем для красивого вывода. Пробел всегда один байт.
              *Потому сматываем указатель буфера до первого пробела.*/
             int buf = size_buf;
             while (message[pointer+buf] != ' ')
                 buf--;
             
             /*Здесь лечится косяк MinGw, буфер принимает по 1к байтов.
              *Лечение производим создавая дополнительные буферы.*/
             istringstream ss(message.substr(pointer,buf) );
             std::cout << ss.rdbuf();
             
             pointer += buf;
         }
    #else
         std::cout << message;
    #endif

    Похоже плохая сборка MinGw.
    http://govnokod.ru/13094

    Запостил: crastinus, 26 Сентября 2013

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

    • показать все, что скрытоговнокод накрылся медным унитазом, по крайней мере у меня, дня на 2.

      Нада создать запасной сайт, и назвать его Быдлокод)))))

      /*Делаем для красивого вывода. Пробел всегда один байт.
      *Потому сматываем указатель буфера до первого пробела.*/

      указатель не веревка чтобы его сматывать, хотя в с++ веревка - это святое, из нее можно и пострелять.)))

      size_t size_buf = 1015; мистическая константа, почему-то 1015.
      Ответить
      • > говнокод накрылся медным унитазом, по крайней мере у меня, дня на 2.
        У меня тоже. И isup.me говорил, что не открывается.
        Ответить
        • <накрылся медным унитазом, по крайней мере у меня, дня на 2.>
          ЭТА Я ТРУБА ШАТАЛ!!
          Ответить
          • > ЭТА Я ТРУБА ШАТАЛ!!
            Что именно было?
            Ответить
            • Ты меня огорчаешь
              (((

              http://hostingkartinok.com/image/01201109/d81cd14cc167bc872bcc7ae18111da55.jpg
              http://www.podkat.ru/uploads/posts/2011-12/1324123594_1324118721_xxc.jpg
              http://gagag.ru/media/mems/227.jpg
              http://memebook.ru/images/content/preview/2664.jpg
              http://tvno.ru/upload/video/thumbs/medium/2013/02/18/ja-tvoi-dom-truba-shatal1361181661-5121fbdd6e807.jpg
              http://cs10271.vkontakte.ru/u154081854/-14/x_2b4c494f.jpg
              Ответить
              • Выражение это я знаю, я надеялся на занимательные подробности.
                Скажем в стиле "Пошёл Stertor и купил себе канал на 10 гигабит. Теперь жежешечку шатает и говнокодик на закуску".
                Ответить
                • Шатать жэжэшечку - все равно, что зайти по щиколотку в нечистоты (проще говоря - в дерьмо) и еще ногами месить. Наш сайт по сравнению с жж - и то не так уныл и убог. Вообще, идеальный сайт, по сравнению со всеми, до сей поры видеными мной.
                  Ответить

                  • Зря вы так говорите. В ЖЖ очень большое множество интересных и удивительных блогов
                    http://kirillfrolov.livejournal.com/
                    http://ortheos.livejournal.com/
                    http://miss-tramell.livejournal.com/
                    Проповеди последней мне просто жизнь спасли. Заходишь в ее блог и понимаешь какое ты быдло.
                    Ответить
                    • <Проповеди последней мне просто жизнь спасли>
                      Бесплатный кокаин для страждущих?

                      Никто не даст нам избавленья -
                      ни бог ни царь и ни герой.
                      Всего достигнем лишь собственной рукой!

                      Почем опиум для народа?
                      Ответить
                      • >Бесплатный кокаин для страждущих?
                        Ты реально можешь оценить этот поток мыслей.
                        Ответить
                  • > Шатать жэжэшечку - все равно, что зайти по щиколотку в нечистоты
                    Я про шатание сугубо автоматизированными методами. Своим бложиком жежешечку не свалишь.

                    > идеальный сайт
                    Верно подмечено. А всё потому, что цель находится внутри пользователя. Не набрать кармы ради кармы, не продвинуть свой бложик в топе, а весело провести время.
                    Ответить
                    • Читал старый тред на скуелеру. Одного деятеля опускали в каждом треде. Его последователь сообщил, что на хаброте этот самый деятель нашёл свою аудиторию и был оценен. На вопрос, как он это определил, ничтоже сумняся ответил, что по карме.
                      Ответить
                      • <на хаброте этот самый деятель нашёл свою аудиторию и был оценен>
                        анскильный петушок попал в курятник?
                        Бля, пусть меня заминусуют, но факт останется фактом.
                        Ответить
                        • Кто ж тебя тут заминусует за такой пост? :) Тут половина ГК хаброненавистников (которые, тем не менее, его читают)...

                          P.S. Плюсанул.
                          Ответить
                          • спс.
                            Ответить
                          • > Тут половина ГК хаброненавистников (которые, тем не менее, его читают)...
                            я читаю. и даже имею там отрицательную карму (потому что всегда говорю то, что думаю)
                            Ответить
            • Вообще-то ГК месяцами лежал. Посмотри в своем дампе максимальную разницу во времени между двумя топиками. Узнаешь месяца, в которых он лежал)).
              Ответить
              • Хм, не знал таких подробностей. Мда, надо бы ещё и по комментариям посмотреть.
                Ответить
              • 1	15.26 дней:	C#48401/P#3739 2010-09-22T09:21:22+04:00 & C#48402/P#4300 2010-10-07T15:40:01+04:00
                2	11.01 дней:	C#125456/P#8865 2011-12-23T18:29:41+03:00 & C#125457/P#8875 2012-01-03T18:40:35+03:00
                3	4.10 дней:	C#125454/P#8865 2011-12-19T15:54:24+03:00 & C#125455/P#8866 2011-12-23T18:20:13+03:00
                4	2.23 дней:	C#175948/P#12923 2013-04-23T12:30:06+04:00 & P#12935 2013-04-25T17:58:14+04:00
                5	2.10 дней:	C#197511/P#13849 2013-09-24T13:05:03+04:00 & C#197512/P#13590 2013-09-26T15:28:58+04:00
                6	2.08 дней:	C#148323/P#11440 2012-07-24T13:17:11+04:00 & C#148324/P#11440 2012-07-26T15:13:06+04:00
                7	2.01 дней:	C#8278/P#1944 2009-10-07T14:46:26+04:00 & C#8279/P#1937 2009-10-09T15:00:42+04:00
                8	1.99 дней:	C#154784/P#11826 2012-09-25T13:05:51+04:00 & C#154785/P#11834 2012-09-27T12:49:38+04:00
                9	1.47 дней:	P#12 2008-11-25T12:29:35+03:00 & P#5 2008-11-26T23:40:44+03:00
                10	1.27 дней:	P#9721 2012-03-20T13:46:00+03:00 & P#9722 2012-03-21T20:15:10+03:00

                Это была пятая по величине задержка между постами/комментариями.
                Ответить
      • > говнокод накрылся медным унитазом, по крайней мере у меня, дня на 2.

        и чё? ньюфаг?
        Ответить
        • > и чё? ньюфаг?

          У олдфагов ГК исправно открывался? Или о падении ГК нельзя упоминать?
          Поясните, пожалуйста. Так сказать, для будущих поколений.
          Ответить
          • > Или о падении ГК нельзя упоминать?
            О мертвых говорят или хорошо или никак ;)
            Ответить
          • Падение ГК - это полезная фича, позволяющая отвлечься наконец от него и ненадолго заняться проектом.
            Ответить
            • Надо, кстати, записать IP говнокодика. Дабы на следующем падении попробовать зайти по ойпи.
              Ответить
              • Он уже сюда внесен: http://dnshistory.org/dns-records/govnokod.ru
                А как по "ойпи", когда это шареный пыхохостинг? (btw вроде когда-то не открывался, вбил в hosts, показало сайт говнотурфирмы).
                Ответить
                • > вбил в hosts, показало сайт говнотурфирмы
                  Ну хз. Значит говнохостинг и виртуалхост удаляет, а не только A запись в DNS... Обычно добавления в hosts вполне хватает.
                  Ответить
            • Общественная столовая была закрыта, тролль умер с голоду.
              Ответить
          • В таких местах говнокод принимает свойства плазмы - он не падает
            Ответить
        • > и чё? ньюфаг?

          а то, разделим всех на ньюфагов, фагов , сеньёрфагов, олдфагов.
          Ответить
          • Джуниорфаги, миддлфаги, сеньёрфаги...
            Ответить
            • да ладно, зачем так извращаться? скажем просто - от духов до дедов.
              Ответить
      • > Нада создать запасной сайт
        Не нужен же.
        Ты бы ещё предложил там блекджек запилить.
        Ответить
        • > блекджек запилить
          А что, тогда уж для полноты картины и поиск шлюх, чтобы было чем заняться, пока ГК в оффлайне.
          Ответить
        • это был тонкий троллинг, шутко же.
          Ответить
      • >мистическая константа, почему-то 1015.
        В тексте же написано, что по 1К выводит. 1015 это как раз примерно 1К без управляющих структур.
        В типе стринг содержится строка UTF-8, каждый ее символ занимает от 1 до 6 байт. Пробел всегда один байт, потому перемотка (да не сматывание) до пробела позволяет перекинуть в буфер стрингстрима строку с целыми символами, затем каждый такой буфер выводить в консоль.
        Ответить
        • http://webfile.ru/6687877

          Ответить
          • А за что минусы? Поставьте минус тому, кто это записал.
            Либо Тарас, либо Онаним. На всякий случай, обоим.
            Ответить
            • Голос, кстати, классный. Я чуть не вздрочнул.
              Ответить
        • Надеяться на то, что среди 1015 символов всяко попадется пробел, имхо, грязноватый хак... Хотя на реальных данных он почти всегда будет попадаться ;)

          P.S. Если кто-то считает ситуацию с 1015 символами без пробела нереальной, приведу банальный пример: строка, в которой 100500 слов разделены табом или переводом строки ;)
          Ответить
          • Ещё беспробельная письменность, например.
            Ответить
            • Ты такой острый, ебать. Я аж порезался.
              Ответить
              • Ты так часто повторяешься, и я не уверен в том, что ты не патефон.
                Ответить
                • Пластинку заело.
                  Ответить
                  • Бля, как же подзаебало в ответ на свои провокации слышать корректные ответы! Фак офф! Ладно, сдаюсь. Сегодня ты подебил.
                    Ответить
            • Хорошо, ты меня окончательно убедил

              Если цикл будет такой:
              while ( !( message[pointer+buf] & 0x80) && (message[pointer+buf] & 0x40) )

              то будем попадать на границы слов
              Ответить
              • Нужно отрицание со вторым поменять, но это будет эквивалентно:
                while( message[pointer+buf] & 0x80)
                Ответить
          • Написал первое, что пришло в голову. Для тех кто работал с UTF-8 побайтно ответ очевиден.
            Ответить
            • > Для тех кто работал с UTF-8 побайтно ответ очевиден
              Да. И он звучит так:
              if ((c & 0xC0) == 0x80) {
                  // это не стартовый байт, крутим дальше
              }
              Ответить
              • чем не угодил
                if (c & 0x80)

                У тебя ведь он на 10 будет выдавать тру, а на 11 false.
                Ответить
                • а 6й бит за тебя дядя будет проверять?
                  Ответить
                  • Чуть по выше я приводил пример

                    while( (c&0x80) && !(c&0x40) )

                    чуть накосячил с логикой. Один хрен в МД нужно сматывать до пробела.
                    Ответить
                    • у борманда код проще
                      Ответить
                      • И понятней любому достаточно опытному байтоёбу :)

                        Стандартная идиома для проверки пачки битов...
                        Ответить
                    • > Один хрен в МД нужно сматывать до пробела.
                      Зачем до пробела? Границы любого utf символа разве недостаточно?
                      Ответить
                      • Не UTF-символа, а именно только однобайтового UTF-символа. Вообще не понимаю откуда такая НЕХ взялась.
                        Сначала был вариант с логикой проверки двух первых битов, затем посмотрел и оставил только 0x80, т.к. первый вариант стал выдавать неверный результат с многобайтовыми символами. Но это только в МД так.
                        Ответить
      • Пятым был я )
        Ответить
    • vanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Он прижался ко мне, его член протиснулся между моих ног. "Какой большой", - подумал я, и сжал его бедрами. Пашка не отпускал меня, возбуждаясь все сильнее.
      Ответить

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