有许多 Win32 函数需要传递缓冲区的地址,例如 TCHAR[256]
,并将某些数据写入该缓冲区。它可能小于缓冲区的大小,也可能是整个缓冲区。
通常情况下,您会在循环中调用这个函数,例如从流或管道中读取数据。最终我想要高效地返回一个字符串,其中包含来自所有迭代调用的数据。我一直在考虑使用 std::string
,因为它的 += 与 Java 或 C# 的 StringBuffer.append()
/StringBuilder.Append()
方法类似,注重速度而不是内存。
但我不确定如何最好地将 std::string
与 Win32 函数混合使用,因为这些函数首先需要传递 char[]
。有什么建议吗?
resize()
可能是明智的选择,然后将其size()
作为缓冲区的长度传递。 - Idan K