Как я могу считывать данные из своего буфера памяти?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++, используйте класс string. std :: string или что-то, что использует ваша любимая библиотека. – nvoigt
Это зависит от того, что вы имеете в виду с _read_. Откуда? Куда? –
Вы можете попробовать '(" Buf: "+ std :: string (buf, n)). C_str()' ... вам нужно выяснить, сколько байтов - 'n' - имеют смысл в буфере. И я просто предполагаю, что эта функция MessageBoxA примет аргумент 'const char *'. –