请问一个函数模板问题。
题目要求:编写一个函数模板,接受一个ostream引用和一个值,将该值写入流,通过写至cout,写至文件和写至stringstream来测试你的程序。
我写的程序如下,请问对不对?
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
template <typename T>
void func(ostream &os, const T &v)
{
os < < v < < endl;
}
void main()
{
ofstream os1;
ostringstream os2;
func(cout, 1);
func(os1, 1);
func(os2, "123 ");
}
[解决办法]
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
template <typename T>
void func(ostream &os, const T &v)
{
os < < v < < endl;
}
int main()
{
ofstream os1( "d:\\temp\\test.txt "); // 文件流需要与一个文件关联
ostringstream os2;
func(cout, 1);
func(os1, 1);
func(os2, "123 ");
cout < <os2.str() < <endl; // 输出ostringstream os2中的内容
system( "pause ");
return 0;
}