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

    +31

    1. 1
    2. 2
    3. 3
    void Console :: clear() {
    	system("cls");
    }

    Запостил: Fai, 23 Июля 2012

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

    • виндузятина
      Ответить
      • В точку
        Ответить
        • oh, shi...

          To accomplish this task for a Win32 console application, use one of the following methods:
          * Use a system function
          #include <stdlib.h>
          void main()
          {
             system("cls");
          }
          * Write a function that will programmatically clear the screen.
          #define PERR(bSuccess, api){if(!(bSuccess)) printf("%s:Error %d from %s \ 
              on line %d\n", __FILE__, GetLastError(), api, __LINE__);}
          
           void cls( HANDLE hConsole )
           {
              COORD coordScreen = { 0, 0 };    /* here's where we'll home the
                                                  cursor */ 
              BOOL bSuccess;
              DWORD cCharsWritten;
              CONSOLE_SCREEN_BUFFER_INFO csbi; /* to get buffer info */ 
              DWORD dwConSize;                 /* number of character cells in
                                                  the current buffer */ 
          
              /* get the number of character cells in the current buffer */ 
              bSuccess = GetConsoleScreenBufferInfo( hConsole, &csbi );
              PERR( bSuccess, "GetConsoleScreenBufferInfo" );
              dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
          
              /* fill the entire screen with blanks */ 
              bSuccess = FillConsoleOutputCharacter( hConsole, (TCHAR) ' ',
                 dwConSize, coordScreen, &cCharsWritten );
              PERR( bSuccess, "FillConsoleOutputCharacter" );
          
              /* get the current text attribute */ 
              bSuccess = GetConsoleScreenBufferInfo( hConsole, &csbi );
              PERR( bSuccess, "ConsoleScreenBufferInfo" );
          
              /* now set the buffer's attributes accordingly */ 
              bSuccess = FillConsoleOutputAttribute( hConsole, csbi.wAttributes,
                 dwConSize, coordScreen, &cCharsWritten );
              PERR( bSuccess, "FillConsoleOutputAttribute" );
          
              /* put the cursor at (0, 0) */ 
              bSuccess = SetConsoleCursorPosition( hConsole, coordScreen );
              PERR( bSuccess, "SetConsoleCursorPosition" );
              return;
           }
          Ответить
          • Т.е. вот это уже не говнокод? ;)
            void cls() {
                printf("\033[2J"); /* Clear the entire screen. */
                printf("\033[0;0f"); /* Move cursor to the top left hand corner */
            }
            Ответить
            • виндовая консоль может в эти эскейп последовательности?
              Ответить
              • ДОС мог (ansi.sys), а винда, кстати, не может ;) Регрессия однако...
                Ответить
    • 1) Боян.
      2) Как автор этого ГК ещё не удавился? Посоны, нахуй так жить?


      Пользователь HaskellGovno забанен до 24.07.2012 за нарушение правила 2.2.1 данного сайта.
      Ответить
      • Поцоны, вы лучше не играйте с огнем, вот как это выглядит:
        http://rghost.ru/39369959
        Ответить
        • Спасибо за предупреждение, а то модераторы совсем обнаглели.
          Ответить
      • а где правила почитать?
        Ответить
        • тут
          Ответить
          • у вас ус отклеился ссылка битая
            Ответить
            • У меня всё открывается.
              Попробуйте почистисть куки браузером.
              Ответить
              • Вы всё еще чистите куки браузером? Это же прошлый век. Попробуйте патч Бармина.
                Ответить
                • Вы всё еще чистите куки браузером? Тогда мы идём к вам.
                  Ответить
                  • Какие куки, какое ещё "чистим"!?!?
                    УМВР.
                    ОS: LFS7.1
                    Client: firefox-14.0.1
                    «Конпелируй, пробуй!»
                    Ответить
              • Сотни нефти этому треду.
                Ответить
            • У меня все открывается. Видимо ваш провайдер заблокировал доступ к некоторым URL'ам.
              Ответить
              • Это по-ходу в libastral дело
                Ответить
              • >провайдер заблокировал доступ к
                It has begun!(c)
                Ответить
                • Кто интересно детское порно додумался в правила ГК закинуть?
                  Ответить
              • >Видимо ваш провайдер заблокировал доступ к некоторым URL'ам.
                Надо свериться со списком сайтов педофильского контента ... может тут причина
                Ответить
      • Модыраторы совсем стыд потеряли. Я даже под гостем несколько дней на говнокод зайти не мог. Забанили капитально. Аж не открывался.
        Ответить
    • ребята, вы без модерации тут уже с жиру беситесь
      Ответить
    • А я юзаю следующее:
      cout<<"\E[H\E[2J"<<endl; //Работает в терминале никсовом и даже в cmd
      Ответить

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