c ++中fprint的等价物

ant*_*009 2 c++ io stderr

g++ (GCC) 4.6.0 20110419 (Red Hat 4.6.0-5)

在c ++中这相当于什么?我知道这将用g ++编译.但我只是想知道c ++中是否还有其他可以使用的东西.

fprintf(stderr, "Server failed to receive message [ %s ]\n", stderror(errno));
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议,

Mac*_*ade 5

关于什么:

std::cerr << "Server failed to receive message [" << stderror(errno)) << "]" << std::endl;
Run Code Online (Sandbox Code Playgroud)

  • @johannes,您觉得哪个平台"\n"不起作用? (3认同)
  • 区别在于std :: endl刷新缓冲区. (2认同)

Dou*_* T. 5

退房CERR的iostream.它像cout,但对于stderr.

 #include <iostream>

 std::cerr << "Server failed to receive message [ " << stderror(errno) << " ]" 
           << std::endl;
Run Code Online (Sandbox Code Playgroud)

或者你可以使用boost :: forma t来获得类型安全的sprintf.

 using namespace boost;
 std::cerr 
   << format("Server failed to receive message [ %s ]") % stderror(errno)
   << std::endl;
Run Code Online (Sandbox Code Playgroud)