[ Pobierz całość w formacie PDF ]
.h.RóżniÄ… si¹ one w zaleznoÅ›ciod kompilatora.Do typowych należą:przed każdym zapisem wskaznik pliku b¹dzie ustawiany na koÅ„cu pliku,jeżeli plik nie istnieje, zostanie utworzony,obcina istniejÄ…cy plik do dÅ‚ugoÅ›ci 0 bajtów,używane w poÅ‚Ä…czeniu z ,otwiera plik w trybie binarnym,otwiera plik w trybie tekstowym.238 Hack Wars.Na tropie hakerówPo przypisaniu uchwytu pliku za pomocÄ… polecenia można korzystać z funkcjii.Prototyp jest nast¹pujÄ…cy:Funkcja podejmuje prób¹ odczytu podanej liczby bajtów i zwraca liczb¹ bajtów fak-tycznie pobranych przez uchwyt pliku.Odczytane dane umieszczane sÄ… w bloku pa-mi¹ci okreÅ›lonym parametrem.Funkcja dziaÅ‚a podobnie, nie różni si¹również jej prototyp i sposób generowania wartoÅ›ci zwracanej.Zapisuje ona podanÄ…ilość bajtów z okreÅ›lonego wskaznikiem bloku pami¹ci.Pliki otwierane funkcjÄ…zamykamy funkcjÄ… :Funkcja zwraca w przypadku operacji udanej, a w przypadku wystÄ…pie-nia bÅ‚¹dów.Dost¹p swobodny zapewnia funkcja , bardzo podobna do , ale pobie-rajÄ…ca jako parametr numer uchwytu, a nie wskaznik strumienia.W poniższymprzykÅ‚adzie wykorzystujemy uchwyt pliku do zapisu danych z (czyli klawiatu-ry) do nowego pliku o nazwie dane.txt:Przegl d funkcji plikowychNorma ANSI definiuje zwiÄ…zane z plikami operacje we-wy przy użyciu strumieni,opisujÄ…c różnorodne funkcje.Prototyp funkcji ma postać:Funkcja podejmuje prób¹ otwarcia strumienia Å‚Ä…czÄ…cego z plikiem o podanej nazwiew okreÅ›lonym trybie.Udana operacja koÅ„czy si¹ zwróceniem wskaznika typu.W przypadku niepowodzenia funkcji zwraca.Na wczeÅ›niejszych stronach przed-stawiony zostaÅ‚ opis parametru.RozdziaÅ‚ 6.f& Podstawy programowania dla hakerów 239f&f&f&Funkcja sÅ‚uży do zamykania strumienia otwartego wczeÅ›niejszym wywoÅ‚a-niem :Udana operacja koÅ„czy si¹ opróżnieniem wszystkich buforów pliku i zwró-ceniem wartoÅ›ci.W przypadku bÅ‚¹dów zwracana jest wartość.Wiele komputerów korzysta z buforowanego dost¹pu do plików.Oznacza to, że dane,zapisywane do strumienia, wst¹pnie umieszczane sÄ… w pami¹ci, a faktyczny zapis na-st¹puje dopiero po przekroczeniu pewnej granicznej iloÅ›ci bajtów.Jeżeli w czasie,gdy dane nie zostaÅ‚y jeszcze faktycznie zapisane do strumienia, nastÄ…pi awaria zasila-nia, dane zostanÄ… utracone.Zabezpiecza przed tym funkcja , wymuszajÄ…cazapisanie wszystkich danych oczekujÄ…cych:Jeżeli wywoÅ‚anie jest udane, zwiÄ…zane ze strumieniem bufory zostajÄ… opróż-nione i zwracana jest wartość.W przypadku bÅ‚¹dów funkcja zwraca wartość.KolejnÄ… funkcjÄ… jest zwracajÄ…ca lokalizacj¹ wskaznika pliku:Funkcja zwraca przesuni¹cie wskaznika pliku w stosunku do poczÄ…tku pliku lubw przypadku bÅ‚¹dów.Przesuni¹cie wskaznika pliku do nowej pozycji umożliwia :Funkcja podejmuje prób¹ przesuni¹cia wskaznika pliku o bajtów od pozycji, okreÅ›lonej jednÄ… ze staÅ‚ych:poczÄ…tek pliku,bieżąca pozycja wskaznika pliku,koniec pliku.Przesuni¹cie ( ) może być wartoÅ›ciÄ… dodatniÄ… (przesuwanie wskaznika w stron¹koÅ„ca pliku) lub ujemnÄ… (przesuwanie wskaznika w stron¹ poczÄ…tku pliku).Abyszybko przenieść wskaznik do poczÄ…tku pliku i usunąć wczeÅ›niejsze odwoÅ‚ania dobÅ‚¹dów, C dostarcza funkcji :Funkcja ta dziaÅ‚a podobnie jak.Jednak usuwa znacz-nik , a wszystkie sygnaÅ‚y bÅ‚¹dów.Informacje o bÅ‚¹dach funk-cji plikowych można pobrać przy użyciu funkcji :Funkcja zwraca wartość niezerowÄ…, jeżeli w okreÅ›lonym strumieniu wystÄ…piÅ‚ bÅ‚Ä…d.Posprawdzeniu wartoÅ›ci należy zadbać o usuni¹cie sygnałów bÅ‚¹dów za po-mocÄ… funkcji :240 Hack Wars.Na tropie hakerówSprawdzenie, czy speÅ‚niony jest warunek osiÄ…gni¹cia koÅ„ca pliku, realizuje predefi-niowane makro :Makro zwraca wartość niezerowÄ…, gdy dla danego strumienia stwierdzono osiÄ…gni¹ciekoÅ„ca pliku.W pozostaÅ‚ych przypadkach zwracanÄ… wartoÅ›ciÄ… jest
[ Pobierz całość w formacie PDF ]