C++输出顺序
C++ Order of Output
我有这样的语句,旨在输出函数返回的内容。
std::cout<<"result: " << calculateAvg(someArray, size) << std::endl;
但是,该函数在返回值之前输出事物本身。有没有办法让我打印出该行返回的内容,而不是在函数打印的所有内容之后?
有没有办法让我打印出该行返回的内容,而不是在函数打印的所有内容之后?
不。 该函数必须先运行,然后才能返回某些内容。 这意味着函数输出的任何输出都将出现在函数返回值的输出之前。
您可以将std::cout
重定向到缓冲区(请参阅这篇文章),调用该函数,重定向回来,打印结果,然后打印缓冲区:
#include <iostream>
#include <sstream>
#include <string>
std::string myFunc() {
std::cout << "print inside myFunc" << std::endl;
return "string returned from myFunc";
}
int main() {
std::stringstream print_inside;
std::streambuf * old = std::cout.rdbuf(print_inside.rdbuf());
std::string returned_string = myFunc();
std::cout.rdbuf(old);
std::cout << returned_string << std::endl;
std::cout << print_inside.str() << std::flush; //endl already there
}
相关文章:
- 如何在 C++ 中将从文本文件中读取的元素推送和弹出到数组中,并按 Revserse 顺序输出堆栈?
- 堆排序,我无法弄清楚我的代码出了什么问题,输出顺序不正确
- C++ 以相反的顺序输出文本文件
- 函数以相反的顺序输出输入问题,并改进算法以解释相等的数字
- `sTD :: sample()的输出序列是否遵循输入序列的顺序
- cout 和 cerr 的控制台输出顺序错误
- C 的输出顺序错误
- 以特定顺序输出地图
- 以正确的顺序输出队列
- 输出未按正确的顺序打印
- 更改声明顺序时输出不正确
- VC++编译器输出顺序
- 为什么 bool 显示正确的位顺序,而直接输出移位运算结果却不显示?
- C++输出顺序
- 顺序我正在检查输出错误的字符串
- OpenCL计算与顺序算法的输出不匹配
- 数字的基本表示-输出顺序相反
- 按相反顺序输出数组的元素
- 如何创建矢量并按相反顺序输出
- c++指针声明顺序输出分段错误或总线错误