0
如何从我的内存缓冲区读取数据?C++ - 从缓冲区读取数据
const char *buf
,然后打印出来这样
MessageBoxA(NULL, "Buf: " + buf, " ", MB_OK);
如何从我的内存缓冲区读取数据?C++ - 从缓冲区读取数据
const char *buf
,然后打印出来这样
MessageBoxA(NULL, "Buf: " + buf, " ", MB_OK);
std::string str = "Buf: ";
str += buf; // I assume buf is a null terminated string
MessageBoxA(NULL, str.c_str(), " ", MB_OK);
不能在字符串文字和/或char*
申请+
。其中一个操作数必须是std::string
才能够利用std::string
的operator+
过载。
如果您buf
是一个字符数组,然后像这可能是工作:
std::string("Buf: ") + buf
这就要求buf
是空值终止。
如果buf
不是空终止然而,Tony D的解决方案应该工作。
如果您使用C++,请使用字符串类。 std :: string或任何你最喜欢的库使用。 – nvoigt
这取决于你用_read_表示的意思。来自哪里?去哪里? –
你可以试试'(“Buf:”+ std :: string(buf,n))。c_str()'...你需要计算出缓冲区中有多少个字节--n。我只是猜测这个'MessageBoxA'函数会接受一个'const char *'参数。 –