baksik Opublikowano 5 Lutego 2005 Zgłoś Opublikowano 5 Lutego 2005 z jakiej funkcji skorzystac, aby dowiedziec sie jaki jest rozmiar pliku (w c/c++) ? :mellow: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
baksik Opublikowano 5 Lutego 2005 Zgłoś Opublikowano 5 Lutego 2005 mam cos takiego: FILE *plik = fopen(argv[1], "rb"); fseek(plik, 0, SEEK_END); int rozmiar = ftell(plik); fclose(plik); ale wyskakuje naruszenie ochrony pamieci, wiec moze znacie jakis inny sposob? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
marcinEc Opublikowano 5 Lutego 2005 Zgłoś Opublikowano 5 Lutego 2005 (edytowane) mam cos takiego: FILE *plik = fopen(argv[1], "rb"); fseek(plik, 0, SEEK_END); int rozmiar = ftell(plik); fclose(plik); ale wyskakuje naruszenie ochrony pamieci, wiec moze znacie jakis inny sposob? 1258811[/snapback] 1. Sprawdź czy rzeczywiście przekazano argument dla programu... argc... 2. Sprawdź czy otwarto plik... po fopen(). 3. Metoda z fseek() jest dobra :) 4. Pod Windows można użyć jeszcze funkcji API GetFileSize(). 5. Tam gdzie jest to możliwe można także użyć szukania plików findfirst()/findnext() [lub odpowiedników] i pobrać informację o znalezionym pliku. 6. Tak jak w przypadku 5 - na pewno jest w MinGW i MSVC++: funkcje filelength, _filelength() i _filelengthi64 z <io.h> Edytowane 5 Lutego 2005 przez marcinEc Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...