Я хочу получать байты в conbuf.buffer. либо тест 1, либо тест2 в порядке. Я не вижу никакой ценности в выражении printf. Правильно ли я перехожу в указатель? Как распределить память указателю char внутри структуры.Доступ к указателю char в структуре C++ и выделение памяти
typedef struct cBuf
{
int size;
char *buffer;
} cbuf;
class A
{
cbuf conbuf;
void test();
}
void A::test()
{
int buffersize = 20;
char buf[buffersize];
conbuf.buffer = (char *)malloc(buffersize * sizeof(char *));
// test 1
int n = socket.receivebytes(conbuf.buffer, buffersize);
// test 2
//int n = socket.receivebytes(buf, buffersize);
//strcpy(conbuf.buffer, buf);
printf("conbuf.buffer %s \n", conbuf.buffer);
}
-1: Можете ли вы опубликовать код, который действительно компилируется? –
Какие точные данные отправляются через сокет? – Mark
Используйте 'std :: vector' вместо распределения памяти вручную. –