Skocz do zawartości
baksik

Operacje Na Plikach

Rekomendowane odpowiedzi

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 przez marcinEc

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...