Мне не ясно. Вы хотите:
- для объединения каждого из 10 получаемых символьных буферов в один массив, на который указывает один
real[0].buffer
или
- хотите ли вы, чтобы на каждый 10-символьный буфер указывал различный
real[i].buffer
или
- что-то еще?
Вам потребуется выделить достаточно места для копии буфера:
#include <stdlib.h>
//...
int size = 10+1; // need to allocate enough space for a terminating '\0'
char* buff = (char *)malloc(size);
if (buff == NULL) {
fprintf(stderr, "Error: Failed to allocate %d bytes in file: %s, line %d\n,
size, __FILE__, __LINE__ );
exit(1);
}
buff[0] = '\0'; // terminate the string so that strcat can work, if needed
//...
real[i].buffer = buff; // now buffer points at some space
//...
strncpy(real[i].buffer, buffer, size-1);