2015-06-23 2 views
0

Как я могу считывать данные из своего буфера памяти?C++ - Чтение данных из буфера

const char *buf 

, а затем распечатать его как этот

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

Если вы используете C++, используйте класс string. std :: string или что-то, что использует ваша любимая библиотека. – nvoigt

+0

Это зависит от того, что вы имеете в виду с _read_. Откуда? Куда? –

+1

Вы можете попробовать '(" Buf: "+ std :: string (buf, n)). C_str()' ... вам нужно выяснить, сколько байтов - 'n' - имеют смысл в буфере. И я просто предполагаю, что эта функция MessageBoxA примет аргумент 'const char *'. –

ответ

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

Вы не можете применить + строковых литералов и/или char*. Один из операндов должен быть std::string, чтобы иметь возможность использовать перегрузку std::stringoperator+.

Если ваш buf является массив символов, то что-то подобное может работать:

std::string("Buf: ") + buf 

Это требует, чтобы buf является нулевым байтом.

Если buf не является окончанием на нулевую версию, решение Tony D должно работать.

Смежные вопросы