1

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

我必须以以下格式打印:

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

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

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

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

我很感激任何帮助。

4

2 回答 2

2

将数据预格式化到缓冲区中。如果你真的只能使用 WinAPI,你可以用wsprintf. 然后,当您有一个充满正确格式化数据的缓冲区时,使用WriteFile. 然而,它本身WriteFile根本没有任何格式化或转换功能。

于 2013-06-27T23:04:40.347 回答
1

一种选择是使用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);
于 2013-06-27T23:09:37.057 回答