clrscr(); Code :: Blocks中的等价物

时间:2013-07-22 16:47:28

标签: c++ codeblocks

如何在代码块中清除输出控制台? 为什么不clrscr();在Code :: Blocks工作,但在Borland工作?

我已经尝试过了:

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

11 个答案:

答案 0 :(得分:9)

最简单最直接的方法是通过system函数调用:

#include <stdlib.h>

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

如果您想以编程方式执行 MSDN shows how here

请注意,C ++没有提供用于清除控制台的标准功能。有些编译器,比如borland,为方便起见将它作为非标准函数提供,但它不能在不同的编译器之间移植。

答案 1 :(得分: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。

答案 2 :(得分:1)

在自己的头文件中创建自己的函数,其中包含clrscr()并使用它。 例如:

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

将“ClearScreen.h”保存在“include”文件夹的路径中(对于ex - C:\ Program Files(x86)\ CodeBlocks \ MinGW \ include)

编译它。

现在在您的程序中使用它,如:

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

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

现在编译并运行它。 我希望它有效......

答案 3 :(得分:1)

您可以使用操作系统命令清除控制台的内容。

 (javaCameraView).findViewById(R.id.java_camera_view);

答案 4 :(得分:0)

conio.h for linux

下载:http://sourceforge.net/projects/conio4linux/?source=typ_redirect

复制到/ usr / include

样品:

root @ shu-GA-VT890P:/ usr / include#ls | grep conio

:)

通过ubuntu 14.10中的code :: blocks进行测试

答案 5 :(得分: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()

修改

刚找到来源:http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1031963460&id=1043284385

答案 6 :(得分:0)

#include <stdlib.h>

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

或者你可以添加系统(“cls”);在你的主要功能。注意:它需要stdlib.h头文件,所以不要忘记包含它。

答案 7 :(得分:0)

在“MinGW \ include”文件夹中打开conio.h只需在最底部添加这些行并保存conio.h

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

那就是现在你的clrscr();会工作

答案 8 :(得分:0)

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

int main()
{
 MyClearScreen();
}

答案 9 :(得分:0)

尝试一下(比上面的短):

#include <windows.h>

void clrscr()/*Create funcion to clean screen.*/
{
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord = {0, 0};
DWORD count;
CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo(hStdOut, &csbi);
FillConsoleOutputCharacter(hStdOut, ' ', csbi.dwSize.X * csbi.dwSize.Y, coord, &count);
SetConsoleCursorPosition(hStdOut, coord);
}

来源:Program with clrscr funtion implemented

答案 10 :(得分:-1)

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

}

//尝试这个,让我知道这是否有效