随笔-4  评论-40  文章-117  trackbacks-0

1.清空控制台窗口的输出

<1>. 使用 system("cls");

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
// 清屏
{
for (int i=0; i<1000; ++i)
cout << i;

system("cls");
return 0;
}

<2>. 使用clrscr函数
函数名: clrscr <conio.h>
功 能: 清除文本模式窗口
用 法: void clrscr(void)

#include<stdio.h>
#include <conio.h>
int main(void)
{
int i;
clrscr();
for (i = 0; i < 20; i++)
printf("%d\r\n", i);
printf("\r\nPress any key to clear screen");
getch();
clrscr();
printf("The screen has been cleared!");
getch();
return 0;
}




2.循环使用getchar()时,若一次输入多个字符,则会每次都会返回一个字符,直到回车,因为
字符被系统缓存了。

当你输入一串字符时比如 abcdefg,程序会计所有的字符存放在缓存区,然后你再按回车,由于你做的是个循环啊,所以程序会把缓存区里面在遇到回车前的字符全部的调用过来,这时遇到putchar了也就一起输出了
如果把这个程序的FOR循环改一下 改成下边这样的
for(;(c=getchar())!='\n';)
{
fflush(stdin);
putchar(c);
}
也就是说加上fflush(stdin); 这句话,意思是清空缓存区,这样程序运行结果就只会输出你输入回车前的第一个字符 其它的字符已经被清空了


posted on 2009-03-13 11:37 李阳 阅读(74) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理