1. Комментарий к говнокоду #25005

    • >>Ну надо же куда-то утилизировать 32 гига оперативки.
      ну не надо

      У меня xmx у Intellijевских продуктов 8Гб
      И отлично все работает
      Ответить
    Показать код ▼

    C++ / Говнокод #25005

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Что-то я давно не обсирал тут хуиту, которую пишут про 
    плюсы на хабре
     
    https://habr.com/post/426965/
     
    Идеального способа для обработки ошибок не существует. 
    До недавнего  времени в С++ были почти все возможные 
    способы обработки ошибок кроме  монад.

    В этой замечательной статье забыли упомянуть setjmp/longjmp(std::longjmp если угодно), который хоть и из Си, но в C++ его никто не запрещал.
    А еще signal (std::signal, если угодно), который хоть и из Си, но в C++ его никто не запрещал.
    А еще goto (почему нет std::goto? Запилите быстраблядь!), который хоть и из Си, но в C++ его никто не запрещал.

    А вообще, зачем иметь в языке такое количество говна в СТАНДАРТНОЙ БИБЛИОТЕКЕ для такой хуиты?

    Вот еще в тему: https://video.twimg.com/tweet_video/De78Qn2XcAAQqfS.mp4

    Запостил: j123123, 20 Октября 2018

    Все комментарии (146)
  2. Комментарий к говнокоду #25013

    • Иньо заебал блядь.
      Блядь заебала Иньо.
      Ответить
    Показать код ▼

    Си / Говнокод #25013

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdalign.h>
    #include <inttypes.h>
    #include <string.h>
     
    float sum_f(const float arr[], const size_t len);
    int32_t sum_i32t(const int32_t arr[], const size_t len);
     
    #define sum(a, b) _Generic((a), float*:   sum_f, \
                                 const float*:   sum_f, \
                                 int32_t*: sum_i32t,\
                                 const int32_t*: sum_i32t)(a, b)
     
     
    // foldl (+) 0 arr
    float sum_f(const float arr[], const size_t len)
    {
      return (len != 0) ? ( sum(arr+1, len-1) + arr[0] ) : 0;
    }
     
    int32_t sum_i32t(const int32_t arr[], const size_t len)
    {
      return (len != 0) ? ( sum(arr+1, len-1) + arr[0] ) : 0;
    }
     
    enum { we_want_int, we_want_float } what_we_want;
     
    void test(int www)
    {
      void *a;
      if (www == we_want_int)
      {
        uint8_t buf[sizeof(int32_t[10])] __attribute__ ((aligned (alignof(int32_t[10]))));
        a = (void *) buf;
        memcpy ( a, (int32_t[10]){1,2,3,4,5,6,7,8,9,10},
                 sizeof((int32_t[10]){1,2,3,4,5,6,7,8,9,10})
                );
        printf("%" PRIi32 "\n", sum((int32_t *)a, 10));
      }
      else if (www == we_want_float)
      {
        uint8_t buf[sizeof(float[10])] __attribute__ ((aligned (alignof(float[10]))));
        a = (void *) buf;
        memcpy ( a, (float[10]){1,2,3,4,5,6,7,8,9,10},
                 sizeof((float[10]){1,2,3,4,5,6,7,8,9,10})
                );
        printf("%f\n", sum((float *)a, 10));    
      }
    }
     
    int main(void)
    {
      test(we_want_int);
      test(we_want_float);
      return EXIT_SUCCESS;
    }

    https://wandbox.org/permlink/TwbKHE8l7ZJc6PNI
    https://govnokod.ru/25005#comment436646
    https://i.imgur.com/yFYfuED.jpg

    Запостил: j123123, 23 Октября 2018

    Все комментарии (41)
  3. Комментарий к говнокоду #248

    Показать код ▼

    C++ / Говнокод #248

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void SimplexIteration::ReWidth()
    {  w[-2]=w[0]=Width; w[-1]=5; for(size_t j=1;j<A.size_j();j++) w[j]=Width;
       if (var) for(size_t j=1; j<A.size_j(); j++)
                   if(strlen(var[j])>w[j]) w[j]=strlen(var[j]);
    }

    Особенно порадовало w[-2]. Знаю, что так можно, но все равно говнисто.

    Запостил: guest, 23 Декабря 2008

    Все комментарии (42)
  4. Комментарий к говнокоду #25010

    Показать код ▼

    Куча / Говнокод #25010

    1. 1
    2. 2
    3. 3
    https://blog.github.com/2018-10-21-october21-incident-report/
     
    Влажный "GitHub" наебнулся.

    Запостил: OBEH, 22 Октября 2018

    Все комментарии (40)
  5. Комментарий к говнокоду #25012

    • Hello,
      buy cialis online!
      http://onlinecialisurw.com/ , , http://viagraaqwe.com/ , , http://viagraaloq.com/ , , http://viagrapoie.com/ , , http://cialisrxss.com/ , ,
      Ответить
    Показать код ▼

    Куча / Говнокод #25012

    1. 1
    Давайте хвалить no-SQL.

    Запостил: OBEH, 23 Октября 2018

    Все комментарии (21)
  6. Комментарий к говнокоду #25006

    • Уважаемый топикстартер! Позвольте обратить Ваше внимание на данное изображение:
      https://svalko.org/658616.html?high=659639
      Ответить
    Показать код ▼

    Куча / Говнокод #25006

    1. 1
    Админ ты или не админ?

    Забань борманда /user/5528

    Запостил: paul, 20 Октября 2018

    Все комментарии (2)
  7. Комментарий к говнокоду #25011

    Показать код ▼

    Куча / Говнокод #25011

    1. 1
    Я слушаю Ольгу Бузову.

    Запостил: OBEH, 23 Октября 2018

    Все комментарии (1)
  8. Комментарий к говнокоду #25009

    • Да-да, я дурак:
      : 1.0+
        S>F 1e0 F+
      ;
      
      : 0.5*
        5e-1 F*
      ;
      Ответить
    Показать код ▼

    C++ / Говнокод #25009

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    /*
    https://habr.com/post/246009/
     
    Это вторая статья в цикле «Теория категорий для программистов».
     
    ...
     
    Я хотел бы сказать вам, что есть шаблон в стандартной библиотеке С++,
    который принимает две функции и возвращает их композицию, но такого
    нет.
     
    Примечание переводчика: но такой не сложно написать на С++14 (я опускаю
    тонны деталей владения и шаблонной магии для проверок, что эти функции
    и тип аргумента действительно можно компоновать):
    */
     
    template <typename T>
    struct function_arg: public function_arg<decltype(&T::operator())> {};
     
    template<typename ReturnType, typename Arg>
    struct function_arg<ReturnType(Arg) const> {
    	using type = Arg;
    };
     
    template<typename ClassType, typename ReturnType, typename Arg>
    struct function_arg<ReturnType(ClassType::*)(Arg) const> {
    	using type = Arg;
    };
     
    template<typename T>
    using function_arg_t = typename function_arg<T>::type;
     
    template<typename F, typename G>
    auto compose(F&& f, G&& g) {
    	return [f = std::forward<F>(f), g = std::forward<G>(g)]
    		(function_arg_t<F>&& a) {return g(f(std::forward<function_arg_t<F>>(a)));};
    }

    Поэтому я за C++

    Запостил: j123123, 22 Октября 2018

    Все комментарии (12)
  9. Комментарий к говнокоду #247

    • : ?>
        BEGIN
          SOURCE >IN @ /STRING 2DUP
          S" <?" SEARCH NIP
          IF
            NIP OVER -
            DUP 2 + >IN +!
            STATE @ IF
              POSTPONE SLITERAL
              ['] TYPE COMPILE,
            ELSE
              TYPE
            THEN
            TRUE
          ELSE
            DROP 
            STATE @ IF
              POSTPONE SLITERAL
              ['] TYPE COMPILE,
              ['] CR COMPILE,
            ELSE
              TYPE CR
            THEN
            REFILL 0=
          THEN
        UNTIL
      ; IMMEDIATE
      
      : EMIT-CASE ( c -- )
        ?> case '<? EMIT ?> ': <?
      ;
      
      : EMIT-CASES
        [CHAR] A 1- [CHAR] Z DO
          4 SPACES
          I EMIT-CASE
          [CHAR] a [CHAR] A - I + EMIT-CASE
          ?> ++id;<? CR
        1 -LOOP
        [CHAR] 0 [CHAR] 9 DO
          4 SPACES
          I EMIT-CASE
          ?> ++id;<? CR
        1 -LOOP
      ;
      
      ?>
      switch (*p) {
      <? EMIT-CASES ?> }


      https://ideone.com/W9N6C1
      Ответить
    Показать код ▼

    C++ / Говнокод #247

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    switch (*p)
             {
                case '0': id += 0; break;
                case '1': id += 1; break;
                case '2': id += 2; break;
                case '3': id += 3; break;
                case '4': id += 4; break;
                case '5': id += 5; break;
                case '6': id += 6; break;
                case '7': id += 7; break;
                case '8': id += 8; break;
                case '9': id += 9; break;
                case 'a': case 'A': id += 10; break;
                case 'b': case 'B': id += 11; break;
                case 'c': case 'C': id += 12; break;
                case 'd': case 'D': id += 13; break;
                case 'e': case 'E': id += 14; break;
                case 'f': case 'F': id += 15; break;
                case 'g': case 'G': id += 16; break;
                case 'h': case 'H': id += 17; break;
                case 'i': case 'I': id += 18; break;
                case 'j': case 'J': id += 19; break;
                case 'k': case 'K': id += 20; break;
                case 'l': case 'L': id += 21; break;
                case 'm': case 'M': id += 22; break;
                case 'n': case 'N': id += 23; break;
                case 'o': case 'O': id += 24; break;
                case 'p': case 'P': id += 25; break;
                case 'q': case 'Q': id += 26; break;
                case 'r': case 'R': id += 27; break;
                case 's': case 'S': id += 28; break;
                case 't': case 'T': id += 29; break;
                case 'u': case 'U': id += 30; break;
                case 'v': case 'V': id += 31; break;
                case 'w': case 'W': id += 32; break;
                case 'x': case 'X': id += 33; break;
                case 'y': case 'Y': id += 34; break;
                case 'z': case 'Z': id += 35; break;
             }

    считаем нечто типа хэша. захотим изменить алгоритм, сделав вместо сложения - ксор, будем фаница реплейсом.
    источник http://www.winsim.com/diskid32/diskid32.cpp
    там же красивые переменные int ijk = 0;

    Запостил: guest, 23 Декабря 2008

    Все комментарии (11)
  10. Комментарий к говнокоду #18877

    Показать код ▼

    Perl / Говнокод #18877

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    use v5.12;
    sub unimplemented { ... }
    eval { unimplemented() };
    if ([email protected] =~ /^Unimplemented at /) {
        say "I found an ellipsis!";
    }

    Навеяно комментарием http://govnokod.ru/18873#comment300760

    Пример из документации перла (http://perldoc.perl.org/perlsyn.html#The-Ellipsis-Statement):
    When Perl 5.12 or later encounters an ellipsis statement, it parses this without error, but if and when you should actually try to execute it, Perl throws an exception with the text Unimplemented.

    Вот такая вот обработка исключений через =~

    Запостил: imihajlov, 16 Октября 2015

    Все комментарии (87)
  11. Комментарий к говнокоду #17518

    Показать код ▼

    ActionScript / Говнокод #17518

    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
    public static function leftJoin(collection: ArrayCollection, joinCollection: ArrayCollection): ArrayCollection
    {
    	var result: Array = [];
    	var object: Object;
    	for each (object in collection)
    	{
    		if (!joinCollection.contains(object))
    		{
    			result.push(object);
    		}
    	}
     
    	return new ArrayCollection(result);
    }

    Ну, можно забить на то, что это никакой ни джоин, но блин, квадратное время на пустом месте...

    Запостил: wvxvw, 25 Января 2015

    Все комментарии (385)
  12. Комментарий к говнокоду #25007

    • > Там ведь в каждом let cвоя область видимости, правильно?

      Ну a и b не модифицируются inplace, разумеется, просто локально переименовываются. Я бы сказал, что это фича. Каждый let видит предыдущее окружение в правых частях присваиваний.

      Вот в хацкеле это бы круто зациклилось, там можно написать
      let (a, b) = (b, a) in printf "a = %d, b = %d\n" a b
      и долго наблюдать, как ничего не происходит.
      Ответить
    Показать код ▼

    C++ / Говнокод #25007

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #include <iostream>
    #include <tuple>
    using namespace std;
     
    int main() {
        int a = 5, b = 6;
        tie(a, b) = make_pair(b, a);
        cout << a << " " << b << endl;
        return 0;
    }

    https://ideone.com/9gzogv

    Запостил: guestinxo, 21 Октября 2018

    Все комментарии (57)
  13. Комментарий к говнокоду #25004

    • Было? Ну и похуй.
      Кста, встречал некоторые коды, которые видать не признали self и метатаблы. И хреначили тупой копипастой или умной, из таблы в таблу. Помоему банально инсертили.
      Даже библа есть вроде, что то связано с классами но это тоже банальная копирка
      Ответить
    Показать код ▼

    PHP / Говнокод #25004

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    /* Сортировка начало */
            if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 4) {
                $model->orderBy([
                    'number' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_number') && strlen(Yii::$app->request->get('sort_number')) === 5) {
                    $model->orderBy([
                        'number' => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 4) {
                $model->orderBy([
                    $company_name => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_domain_name') && strlen(Yii::$app->request->get('sort_domain_name')) === 5) {
                    $model->orderBy([
                        $company_name => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 4) {
                $model->orderBy([
                    'domain_id' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_domain_id') && strlen(Yii::$app->request->get('sort_domain_id')) === 5) {
                    $model->orderBy([
                        'domain_id' => SORT_ASC,
                    ]);
                }
            }
            if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 4) {
                $model->orderBy([
                    'id' => SORT_DESC,
                ]);
            } else {
                if (Yii::$app->request->get('sort_id') && strlen(Yii::$app->request->get('sort_id')) === 5) {
                    $model->orderBy([
                        'id' => SORT_ASC,
                    ]);
                }
            }
            /* Сортировка конец */
     
            /* Поиск начало */
            if (Yii::$app->request->get('id') && strlen(Yii::$app->request->get('id')) >= 1) {
                $model->andWhere([
                    'id' => Yii::$app->request->get('id'),
                ]);
            }
            if (Yii::$app->request->get('number') && strlen(Yii::$app->request->get('number')) >= 3) {
                $model->andWhere(['number' => Yii::$app->request->get('number'),
                ]);
            }
            if (Yii::$app->request->get('domain_name') && strlen(Yii::$app->request->get('domain_name')) >= 3) {
                $model->andWhere([$company_name => Yii::$app->request->get('domain_name'),
                ]);
            }
            if (Yii::$app->request->get('domain_id') && strlen(Yii::$app->request->get('domain_id')) >= 3) {
                $model->andWhere(['domain_id' => Yii::$app->request->get('domain_id'),
                ]);
            }
            if (Yii::$app->request->get('appointment') && strlen(Yii::$app->request->get('appointment')) >= 3) {
                $model->andWhere(['appointment' => Yii::$app->request->get('appointment'),
                ]);
            }
            /* Поиск конец */

    Джуна отправили в свободное плавание... как вам?

    Запостил: ZeiZ, 20 Октября 2018

    Все комментарии (34)
  14. Комментарий к говнокоду #25008

    Показать код ▼

    Куча / Говнокод #25008

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Я ненавижу футбол. Это до крайности тупая, скучная и примитивная игра для быдла, малоинтересная образованным людям. 
    Отвращение к футболу живёт во мне, сколько я себя помню, было оно и в детстве. 
    Когда я был маленьким (это примерно 1980 год - яблоблядей тогда не было и в помине, программистов уважали, а на прыщеандра народ глядел как на пришельца),
    единственным развлечением среднестатичтической семьи был зомбоящик. Передачи смотрели, усевшись у экрана всей семьей или же порознь - в зависимости от уровня взаимопонимания. 
    Между передач иногда транслировали футбол... Отец в такие часы становился монополистом, меня зачастую и выгонял - ещё один повод для ненависти.
    По малости лет, я думал, что футбол транслируют, что тупо чтобы забить эфир. Для меня он стал такой же лишённой смысла нагрузкой, как и реклама. 
    Когда я вижу, что происходит с болельщиками во время матча, мной овладевает злоба, хоть рви на лобке волосы. 
    Я испытываю один за другим, нет - не оргазмы, а приступы когнитивного диссонанса, вызваннного пустыми страданиями и упадком духа здоровенных бугаев по поводу пенальти, 
    сменяемых беспричинной, бурной радостью и идиотским смехом во время гола.
    Мне хочется удавить эту партию, но обычно я просто выбрасываю телевизор.

    Если ещё раз потрёшь пост - я тебя выебу, усёк?

    Запостил: paul, 22 Октября 2018

    Все комментарии (12)
  15. Комментарий к говнокоду #25000

  16. Комментарий к говнокоду #24716

    Показать код ▼

    C++ / Говнокод #24716

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    #include<iostream>
    #include<fstream>
    #include<vector>
    using namespace std;
    string rec(const string str, char c){return str;} //syntax error : missing ';' before identifier 'rec', ')' before 'const',  ')', ';' before '{', 
                                                                                    //'str' : undeclared identifier, 'rec': identifier not found
     
    void cer(){}                                                            //'cer' : local function definitions are illegal
     
    main(){                                                                  //'main': identifier not found
     
    	string s, d="Math.cos",a;                  //missing '}' before identifier 's',  ';' before identifier 's', 's', 'd', 'a' : undeclared identifier
     
            ifstream fin;
    	vector<string> mas; // 'std::vector' : 'string' is not a valid template type argument for parameter '_Ty', 'mas' : unknown size
                                                  //'std::vector' : no appropriate default constructor available
     
    fin.open(mDocWrite); //'void std::basic_ifstream<char,std::char_traits<char>>::open(const char *,std::ios_base::open_mode)' : 
                                            //cannot convert argument 1 from 'nsAutoPtr<nsHtml5Tokenizer>' to 'const wchar_t *'
                         //No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
     
    //if (fin.is_open()) cout<<"1";else	cout<<"0";
    while(fin>>s)    //'s' : undeclared identifier, fatal error C1903: unable to recover from previous error(s); stopping compilation
    	{bool f=0;
    		for(int i=0; i<s.size(); ++i)
    			if (s[i]==d[0])
    				{
    					f=1;
    					for (int j=0; j<s.size()&&j<d.size(); ++j)
    						if (d[j]!=s[i+j]) f=0;
    					if (f)
    						{
    							a.clear();
    							for (int j=0; j<i; ++j)
    								a=a+s[j];
    							a=a+"0.5*";
    							for (int j=i; j<s.size(); ++j)
    								a=a+s[j];
    						}
    				}
    						if (f)	{mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
    			else mas.push_back(s);
    			s=rec(s,'0');
    	}
    	ofstream fout;
    fout.open(mDocWrite);
    for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
    }

    предполагалось, что код будет уменьшать cos угла в два раза, но при компиляции выдает ошибки, логику большинства которых не могу понять. Ошибки указал в коде. Подскажите, что не так.

    Запостил: DrAli, 04 Сентября 2018

    Все комментарии (28)
  17. Комментарий к говнокоду #24904

    Показать код ▼

    C++ / Говнокод #24904

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    #include<iostream>
    #include<fstream>
    #include<vector>
    using namespace std;
     
    string rec(const string str, char c){return str;}
     
    void cer(){}
     
    main(){
    	string s,d="Text",a;
    	ifstream fin;
    	vector<string> mas;
    fin.open("test.txt");
    //if (fin.is_open()) cout<<"1";else	cout<<"0";
    while(fin>>s)
    	{bool f=0;
    		for(int i=0; i<s.size(); ++i)
    			if (s[i]==d[0])
    				{
    					f=1;
    					for (int j=0; j<s.size()&&j<d.size(); ++j)
    						if (d[j]!=s[i+j]) f=0;
    					if (f)
    						{
    							a.clear();
    							for (int j=0; j<i; ++j)
    								a=a+s[j];
    							a=a+"Hi";
    							for (int j=i; j<s.size(); ++j)
    								a=a+s[j];
    						}
    				}
     
    			if (f)	{mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
    			else mas.push_back(s);
    			s=rec(s,'0');
    	}
    	ofstream fout;
    fout.open("output.txt");
    for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
    }

    ДД всем просветленным.
    Есть код на С++ , который нормально компилируется и меняет текст в указанном файле. Вопрос: как его использовать для изменения данных при парсинге сайта. По логике Tokenizer передает лексемы в Parser для дальнейшего построения DOM. Значит надо добавить подобный код в Tokenizer, чтобы он передавал уже исправленные данные. Но на практике Tokenizer работает с Buffer(nsHtml5Tokenizer::tokenizeBuffer( nsHtml5UTF16Buffer* buffer)), причем с логическим(bool), а код для строчки из файла.
    Как вариант добавить в сам Parser(nsHtml5Parser::Parse(const nsAString& aSourceBuffer, void* aKey, const nsACString& ContentType, bool aLastCall, nsDTDMode aMode) , но не могу разобраться как это сделать.
    При компиляции вылетает куча ошибок.
    Использованные файлы: nsHtml5Parser.cpp и nsHtml5Tokenizer.cpp, FireFox(версия 47), компилятор MSVS2013.

    Запостил: DrAli, 12 Октября 2018

    Все комментарии (24)
  18. Комментарий к говнокоду #249

    Показать код ▼

    Java / Говнокод #249

    1. 1
    StringBuffer url = new StringBuffer( HTTPS + module + TAGS + tag + SLESH );

    Запостил: guest, 23 Декабря 2008

    Все комментарии (6)
  19. Комментарий к говнокоду #24842

    Показать код ▼

    Куча / Говнокод #24842

    1. 1
    https://browsers.ucoz.ru/

    Запостил: OBEH, 01 Октября 2018

    Все комментарии (8)
  20. Комментарий к говнокоду #24919

    Показать код ▼

    Куча / Говнокод #24919

    1. 1
    Что такое "LDAP"? В упор не понимаю, что это за хуйня и чем обусловлена течка по ней.

    Запостил: OBEH, 14 Октября 2018

    Все комментарии (7)