是fflush(),它作用是清空输入/输出流,在VC中文件名是.CPP的话就可以用,用法是:
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的港北网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
fflush(stdin);
//清空输入流
fflush(stdout);
//清空输出流
stdin是系统自动生成的指针标准输入流,stdout是系统自动生成的指针标准输出流
flush的作用是刷新缓冲区
例如
cout "hello1"
cout "hello2"
cout flush
调用flush后,可以立即把hello1和hello2输出给cout,而不是保存在缓冲区里面,等待系统定时刷新。
实际开发中,系统定时刷新间隔比较快,所以可能看不出区别。
endl, ends等默认都会刷新缓冲区,不一定非要用flush,例如:
cout "hello1" endl
getkey()应该是得到键值的函数,C语言里有这个函数吗?我怎么没见过(在下又孤陋寡闻了,汗,,,)我觉得需要自己定义一个吧,不知道LZ在哪儿看见的,先不废话了,getch()是从键盘得到一个字符,用法如:。。。char ch;getch(ch);//OR ch=geych();。。。。现在很多编译器不承认这个函数了,最好写成getchar(),用法没变;flush()是刷新屏幕用的吧,或者是刷新缓存,,,哦,忘了,,自汗,,,希望可以帮到LZ
楼主,就像楼上说的,转义字符无论是在c/c++都是通用的。\t是制表符,在C++中通用。
下面,偶来具体解释下\n、endl和flush函数的不同。
有提到C++中的流,如cout等:
1、\n和endl区别在于:
\n只代表换行的转义字符
endl除了代表换行,还紧跟着清除缓冲槽,即清除缓冲区的内容
2、具体\n和endl内容的辨析:
要明白\n和endl的区别,首先要明白一个概念:输出流。
目前输出流的类型很多,有对文件作为目标输出的,有对显示屏(Console间接输出)进行输出的。也有输出到其他抽象结构的。
cout的意思是console-output:控制台输出.
但是它的机制还远没有我们想的那么简单,后面跟着写什么就直接输出到屏幕什么?不是这样的。
就拿cout"Hi,zw.\n"endl;来说,cout代表后面的内容输出到控制台的一个缓冲槽,而不是控制台(黑屏幕的那个).
缓冲槽在什么情况下会把缓冲槽的内容输出到控制台的【屏幕界面】呢?当遇到endl或者其他fflush之类的命令或函数时,缓冲槽里的内容会按照顺序输出到控制台,再由控制台进行转意字符的识别打印。
3、flush函数
在C++中,可以使用flush函数来清空缓冲区,即使缓冲区中的数据不是满的。与endl控制符不同的是,flush函数并不是把光标移到下一行的开头处。
使用flush函数的语法是:
ostreamVar.flush();
这里ostreamVar是输出流变量,例如cout。
与endl一样,flush可以作为控制符使用。在这种情况下,flush使用在输出语句中,并不加括号。
例如,下面的语句将数据从缓冲区写到标准输出设备:
coutflush;
例:考虑下面的语句,其中num是int类型变量:
cout”enteraninteger:”;
cinnum;
coutendl;
第一行语句输出文字:“enteraninteger:”。在输出这一行文字后,光标停留在冒号后面的位置上。注意,第1行语句的输出首先被送到缓冲区中。如果缓冲区中的数据没有存满,那么这行提示文字就不会显示出来。这时用户也就不知道下一步应该做什么。可以在第1行语句后面使用endl控制符。但是如果这样做,在输出这行文字后,光标将被移到下一行的开头处,用户也就必须在下一行中输入数字。而这样做并不是最恰当的。还可以使用下面的语句替换掉1行语句:
cout”enteraninteger:”flush;
在这种情况下,文字行“enteraninteger:”,即使在缓冲区数据没有存满时也会立即被输出到标准输出设备上。而且,在输出这行文本后,光标将停留在分号的下一个位置上。用户将在分号后面输入数字。
是fflush(),它作用是清空输入/输出流,在VC中文件名是.CPP的话就可以用,用法是:
fflush(stdin); //清空输入流
fflush(stdout); //清空输出流
stdin是系统自动生成的指针标准输入流,stdout是系统自动生成的指针标准输出流