使用WriteFile
命令,我试图在我希望的设计中写入文件。问题是我必须使用字符串或缓冲区写入文件。
我必须以以下格式打印:
a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
.
.
.
这些是双重类型。我遇到的主要问题是连接字符串和数字。如果可以,我可以这样做,(如果我们说+是运营商,我们可以:)
a1^" "^a2^" "^ "^a4"\n".
和循环,但我没有那个选项。
我感谢任何帮助。
答案 0 :(得分:2)
将数据预格式化为缓冲区。如果您真的只能使用WinAPI,则可以使用wsprintf
执行此操作。然后,当您有一个充满数据格式正确的缓冲区时,使用WriteFile
一次性将整个内容写入磁盘。但是,WriteFile
本身并没有任何格式或转换功能。
答案 1 :(得分: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);