如何解释 c++ 中 "puts" 的奇怪输出?

How to explain the strange output by "puts" in c++?

本文关键字:puts 输出 何解释 解释 c++      更新时间:2023-10-16

我正在阅读其他人所写的一件代码,有这样的行:

cout << "Data Loaded" << endl;

似乎没有奇怪的是,实际输出是:

[18607330327, 18790481919] [19144201237, 19327352831] [20754813973, 20937965567] [21291684885, 21474836479] [21474836482, 21653864362] [22011707392, 22190735274] [23622320128, 23801348010] [24159191040, 24338218922] [27197264917, 27204255743] [27205653525, 27212644351] [27230819349, 27230959453] [27233615872, 27235153757] [30064771072, 30067638186] [30073159680, 30076026794] [30098325504, 30098440106] [30098456576, 30098536200] Data Loaded

额外的输出来自哪里?如果我评论该行,那么什么都不会输出。

i然后包括 <cstdio>并由 puts("Data Loaded")替换该行,但要打印额外的信息。

cout是一个缓冲的输出流,Endl不仅创建了新的线路,还可以冲洗缓冲区。如果没有缓冲区的冲洗,您可能不会看到前面的代表的输出。