2013-07-22 18 views
6

как очистить выходную консоль в блоках кода? Почему не clrscr(); работать в Code :: Blocks, но работает в Borland ??clrscr(); эквивалентно в Code :: Blocks

Я уже пробовал:

cout << "\x1b[2J\x1b[1;1H" << flush; 
cls() ; 
+0

Вы '#include '? – qwertz

+0

Почему вы хотите очистить экран? –

ответ

7

Самый простой самый простой способ это просто сделать это с помощью вызова функции system:

#include <stdlib.h> 

int main() 
{ 
    system("cls"); 
} 

Если вы хотите сделать это программно MSDN shows how here.

Обратите внимание, что для очистки консоли нет стандартной функции, предоставляемой C++. Некоторые компиляторы, такие как borland, обеспечивают его как нестандартную функцию для удобства, но не переносят между различными компиляторами.

+0

Спасибо, очень. Оно работало завораживающе! – gandalf

+0

и BTW делает «система (« cls »); работайте над каждой c/C++ IDE и компилятором? – gandalf

+0

@ gandalf 'system' сама по себе является стандартной функцией, предоставляемой' stdlib.h'. Однако команда, которую вы передаете ей, будет зависящей от платформы. Например, в linux вы будете использовать 'system (" clear ")' или 'system (" reset ")' вместо этого. – greatwolf

-1
#include<conio.h> 
#include<iostream.h> 
int main() 
{ 
//using namespace std 
clrscr(); 

} 

// попробовать это и дайте мне знать, если это работает

+0

Я уже сделал that.it не работает. Мне нужна альтернатива для clrscr(); – gandalf

0

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

#include <stdlib.h> 
void clrscr() 
{ 
    system("cls"); 
} 

сохранить его как "ClearScreen.h" на вашем пути "включают" папку (экс - C: \ Program Files (x86) \ CodeBlocks \ MinGW \ включать)

скомпилируйте его.

теперь используют его в своих программах, как:

#include <stdio.h> 
#include <conio.h> 
#include <ClearScreen.h> 

main() 
{ 
    clrscr(); 
    printf("\nHi"); 
    getch(); 
    return 0; 
} 

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

0

Я просто искал в Интернете.

Не помню источник, но это должно быть самым точным до сих пор.

#include<windows.h>  

void clear_screen() 
{ 
    DWORD n;       /* Number of characters written */ 
    DWORD size;      /* number of visible characters */ 
    COORD coord = {0};    /* Top left screen position */ 
    CONSOLE_SCREEN_BUFFER_INFO csbi; 

    /* Get a handle to the console */ 
    HANDLE h = GetStdHandle (STD_OUTPUT_HANDLE); 

    GetConsoleScreenBufferInfo (h, &csbi); 

    /* Find the number of characters to overwrite */ 
    size = csbi.dwSize.X * csbi.dwSize.Y; 

    /* Overwrite the screen buffer with whitespace */ 
    FillConsoleOutputCharacter (h, TEXT (' '), size, coord, &n); 
    GetConsoleScreenBufferInfo (h, &csbi); 
    FillConsoleOutputAttribute (h, csbi.wAttributes, size, coord, &n); 

    /* Reset the cursor to the top left position */ 
    SetConsoleCursorPosition (h, coord); 
} 

Теперь, все, что вам нужно сделать, это вызовclear_screen()

EDIT:

Просто нашел источник: http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1031963460&id=1043284385

0
#include <stdlib.h> 

int main() 
{ 
    system("cls"); 
} 

или вы можете просто добавить систему ("ЦБС"); в вашей основной функции. Примечание: для этого требуется файл stdlib.h, поэтому не забудьте его включить.

+0

для очень старых компиляторов, таких как turbo C++, вы можете использовать 'clrscr()'. – abe312

2

Это на самом деле довольно простая проблема. Все, что вам нужно сделать, это использовать printf. Вам даже не нужны printf или любые заголовки, если на то пошло.

printf("\e[1;1H\e[2J"); 

\ e [1; 1H устанавливает экран в 1-й и 1-й столбцы. 2J перезаписывает все символы, находящиеся на экране.

Вы также можете использовать это:

write(0,"\e[1;1H\e[2J",12); 

Тогда вам не нужно stdio.h.

0

открыт conio.h в "MinGW \ включают в себя" папку просто добавить эти линии в самом низу и сохранить conio.h

#include <stdlib.h> 
void clrscr() 
{ 
    system("cls"); 
} 

вот и все теперь ваш clrscr(); будет работать

0
void function MyClearScreen() 
{ 
asm 
    { 
    mov ax,0600h; 
    mov bh,71h;  
    mov cx,0000h; 
    mov dx,184Fh; 
    int 10h;  
    }; 
}; 

int main() 
{ 
MyClearScreen(); 
} 
+1

Описание того, что делает сборка, было бы неплохо –

0

Вы можете использовать команды ОС, чтобы очистить содержимое консоли.

#include<stdlib.h> 
int main(){ 

system("cls"); //For windows 
system("clear"); //For Linux 

} 
Смежные вопросы