Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
Compresie ZLib char - fisier
Last Updated: Mar 02 2023 10:21, Started by
GabyF
, Feb 28 2023 16:14
·
0
#1
Posted 28 February 2023 - 16:14
Am facut o functie care incarca datele existente intr-un fisier comprimat zlib intr-un char.
int uncomprCharLen(char *&output, char *infile) { int nr_read, nr_out = 0; char buffer[512]; gzFile gzfile = gzopen(infile, "rb"); gzread(gzfile, buffer, 4); char *tmp=new char[gzoffset(gzfile)*4];// uncompress data cannot be larger gzseek(gzfile, 0, SEEK_SET); while ((nr_read = gzread(gzfile, buffer, sizeof(buffer))) > 0) { strncat(tmp, buffer, nr_read); nr_out+=nr_read; } delete[] output; output = new char[nr_out]; strncpy(output, tmp, nr_out); delete[] tmp; gzclose(gzfile); return nr_out; } int main(int argc, char **argv) { char *uncompr=new char[4]; uncomprCharLen(uncompr, argv[1]); printf("uncompr %s\n", uncompr); return 0; }Pare ca merge. Intrebarea mea este daca vi se pare ceva in neregula. Zlib nu ofera posibilitatea de-a afla lungimea sirului decomprimat si nici n-as vrea sa folosesc gzread de doua ori. Asa ca am folosit un char temporar destul de mare si am redimensionat char-ul pe care o sa-l folosesc in afara functiei. Edited by GabyF, 28 February 2023 - 16:14. |
#3
Posted 28 February 2023 - 20:47
Exista desigur si posibilitatea sa nici n-ai nevoie de toate caracterele deodata. De exemplu daca doar le copiez in alta parte sau faci procesari pe cate putine odata.
|
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users