Показать сообщение отдельно

функция inflate() проблема <zlib.h> C++
  #1  
Старый 22.04.2010, 23:36
awdrg
Участник форума
Регистрация: 30.01.2009
Сообщений: 196
Провел на форуме:
505362

Репутация: 66
Unhappy функция inflate() проблема <zlib.h> C++

fixed
Код:
Проблема: при распаковке текстового gz файла функция верно выводит количество распакованых байт, но затем крашится по непонятной причине, не окончив работу.

Код:
sasha@sasha-desktop:~$ ./gziptest
9
Segmentation fault
Ubuntu 9.10 Строка 9 байт. Исходник: #include <stdio.h> #include <string.h> #include <iostream> #include <zlib.h> using namespace std; main() { gzFile zfp; char * text = new char[256]; text[0] = '\0'; void * buf = &text; zfp = gzopen("file.gz","r"); cout << gzread(zfp,buf,255) << endl; выводит кол-во распак. байтов файла (9) cout << text; //до этого момента не доживает, text должен изменяется (распаковыватся) через указатель buf строкой выше. gzclose(zfp); return 0; } Сам файл читается системой без проблем. И еще интересует такой вопрос: как выгоднее распаковывать ответ сервера по http? Этот способ требует запись в файл на жестком диске, что не совсем выгодно.

Последний раз редактировалось awdrg; 23.04.2010 в 00:36..
 
Ответить с цитированием