将cout语句转换为fwrite函数

时间:2015-05-03 15:05:09

标签: c++

我设法使用Windows Studio 2012在64位版本配置下编译以下主要功能:https://github.com/kpu/kenlm/blob/master/lm/builder/dump_counts_main.cc

因为我将使用它来处理data的TB,我想看看是否可以直接将输出定向到文件而不是fwrite。虽然我发现如何快速将文件写入磁盘advice,但我并不确定如何将以下语句传递给std::cout << vocab.Lookup(*i) << ' '; std::cout << *reinterpret_cast<const uint64_t*>(words + order) << '\n'; 函数。

const void*

任何人都知道如何将它们转换为转换为private string getTVNodeText(IntPtr tvHandle, IntPtr nodeHandle) { TVITEM tvi = new TVITEM(); IntPtr pszText = LocalAlloc(0x40, 260); tvi.mask = TreeViewMsg.TVIF_TEXT; tvi.hItem = nodeHandle; tvi.cchTextMax = 260; tvi.pszText = Convert.ToInt32(pszText); SendMessageTVI(tvHandle, TreeViewMsg.TVM_GETITEM, 0, tvi); string nodeText = Marshal.PtrToStringAnsi((IntPtr)tvi.pszText, 260); LocalFree(pszText); return nodeText; } 的元素数组?

1 个答案:

答案 0 :(得分:1)

首先,要清除您可能存在的任何误解:

  • DetlaTime * TheNumberOfPixelsToMoveInASecond仍然(通常)缓冲I / O(这是一件好事)
  • fwrite是一个非常好的接口,可以将格式化输出发送到文件
  • ofstream(以及它的所有派生类)都有ostream成员,其作用与write相同。
  • 如果您真的坚持使用fwrite进行I / O,可以在程序开头cout进行操作,这样iostream库就不必向后弯曲写入ios_base::sync_with_stdio(false);cout上的stdio操作互操作。

...但要回答您提出的问题,您可以使用STDOUT。您将输出格式化为字符串流,然后提取它创建的字符串,以便您可以使用stringstream编写其字符。