繁体   English   中英

格式化在WINAPI中写入文件

[英]Formatted Write to file in WINAPI

使用WriteFile命令,我试图在我希望的设计中写入文件。 问题是我必须使用字符串或缓冲区写入文件。

我必须以以下格式打印:

a1   a2   a3   a4   a5
b1   b2   b3   b4   b5
.
.
.

这些是双重类型。 我遇到的主要问题是连接字符串和数字。 如果这是可能的,我可以简单地做,(如果让我们说+是运营商,我们可以:)

a1^"   "^a2^"   "^   "^a4"\n".

和循环但我没有那个选项。

我感谢任何帮助。

将数据预格式化为缓冲区。 如果你真的只能使用WinAPI,你可以用wsprintf做到这wsprintf 然后,当你有一个充满正确数据格式的缓冲区时,使用WriteFile立即将整个内容写入磁盘。 但是, WriteFile本身根本没有任何格式或转换功能。

一种选择是使用std::ostringstream (或宽字符的std::wostringstream )将数据格式化为字符串,然后将其写入文件。

std::ostringstream strm;
double a = 1.1;
double b = 2.2;
strm << "hello " << a << " world " << b;

DWORD written;
WriteFile(handle, strm.str().c_str(), strm.str().size(), &written, NULL);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM