显示字符串的函数

显示字符串的函数
//在程序运行的时候经常需要显示调试信息,标准c中经常使用
//printf和spritf,还有MFC中的TRACE函数,
//都是要自己写格式字符串,特别是
//sprintf还要自己建缓冲区等,因此可以用标准c++的
//stringstream 和模板来构建无需格式字符串的函数,
//并且可以自行进行扩充的


#include  < sstream >

template 
< class a >
std::
string  make_str(a pa)
{
  std::
string  ret;
  stringstream ls;
  ls 
<<  pa  <<  endl;
  ret 
=  ls.str();
  return ret;
}


template 
< class a, class b >
std::
string  make_str(a pa, b pb)
{
  std::
string  ret;
  stringstream ls;
  ls 
<<  pa  <<   "   "   <<  pb  <<  endl;
  ret 
=  ls.str();
  return ret;
}


template 
< class a, class b,class c >
std::
string  make_str(a pa, b pb,c pc)
{
  std::
string  ret;
  stringstream ls;
  ls 
<<  pa  <<   "   "   <<  pb  <<   "   "   <<  pc  <<  endl;
  ret 
=  ls.str();
  return ret;
}

// 可以按需要扩充
// 用起来可以这样
cout 
<<  make_str( " 当前记数 " 100 ).c_str();

你可能感兴趣的:(显示字符串的函数)