首页 > 代码库 > Endl的作用

Endl的作用

http://bbs.csdn.net/topics/390450180

endl表示刷新输出缓冲区

标准输出流 (cout) 可以使用应用程序或动态链接库 (DLL) 中显示的信息。在同时使用应用程序和 DLL 中的 cout 时,需要特别小心以确保文本显示已同步。

Cout 文本流进行缓冲处理,因为 DLL 中的文本可能不正确显示相对于文本从应用程序。若要解决此问题,请始终使用 endl 操控器输出具有 cout 文本时。下面是一个示例:
   cout << "Hello World" << endl;

Endl 操控器插入一个换行符,然后刷新流缓冲区。这可以确保应用程序和 DLL 中显示的文本进行同步。

补充一下,
可以用setvbuf设置缓冲模式为 _IOLBF  _IONBF 或 _IOFBF ,
也可以用fflush来冲洗流。

------------------------------------------------------------

标准输出流一般使用行缓冲输出机制。即遇到输出的字符串中有换行符就把缓冲区中的内容输出。
标准出错输出使用的立即输出机制。不管输出什么,马上输出。

--------------------------------------------------------------

#include <iostream.h>
#include <windows.h>
void main() {     
 int i=1,k=2,j=3;     
 cout<<i+k;cout.flush();     
 Sleep(1000);     
 cout<<i+j;
}
-------------------------------------------------------------
 

Endl的作用