Пытаюсь на С++ использовать miniLZO
unsigned char *in = (unsigned char*) malloc (sizeof(char)*str.length());
unsigned char *out = (unsigned char*) malloc (sizeof(char)*str.length()*100);
memcpy(in,str.c_str(),str.length());
unsigned long out_len;
int r = lzo1x_1_compress(in,str.length(),out,&out_len,wrkmem);
/*std::ofstream file("000.txt", std::ios::out|std::ios::binary);
file.write((char*)out,out_len);
file.close();
*/
char *st = (char*) malloc (sizeof(char)*out_len);
//memcpy(st,out,out_len);
string data =(char*)out;
собственно какова проблема - никаким образом немогу после сжатие получить данные назад в char* или string. даже memcpy не помогает. когда просто печатаю содержимое out в файлик - отлично всё получаю.
обратная процедура (декомпрессия) прекрасно возвращает данные всеми вышеопробованными способами. Где я дурак?, помоги ночной лор!