Господа поделитесь функциями на СИ по упаковки и распокавки текста при помощи библиотек zlib && bzlib, не в файл а в переменную, причём если при распоковке нам не известен размер оригинального тексти.
У меня была похожая ситуация, мне помог вот этот пример: http://www.zlib.net/zpipe.c По идее тебе в этом примере вместо fwrite(out, 1, have, dest), результат надо в динамический буффер складывать ("переменная"). А так как я от природы ленив, я вместо динамического буффера просто использовал пайпу и брал из неё компримированый результат сколько мне надо было. Но это уже на любителя, т.е. в моей ситуации было так удобней.