C ++ - 从Buffer

时间:2015-06-23 09:09:28

标签: c++

如何从内存缓冲区中读取数据?

const char *buf

然后将其打印出来

MessageBoxA(NULL, "Buf: " + buf, " ", MB_OK);

2 个答案:

答案 0 :(得分:1)

std::string str = "Buf: ";
str += buf;    // I assume buf is a null terminated string
MessageBoxA(NULL, str.c_str(), " ", MB_OK);

答案 1 :(得分:0)

您无法对字符串文字和/或+应用char*。其中一个操作数必须是std::string才能利用std::string的{​​{1}}重载。

如果你的operator+是一个char数组,那么这样的东西可以起作用:

buf

这要求std::string("Buf: ") + buf 以空值终止

如果buf没有以空值终止,那么Tony D的解决方案应该可行。