lergon Temat założony przez niniejszego użytkownika |
[WinAPI] Użycie znaku EOF » 2013-03-14 23:19:10 Witam Na wstępie Szukałem na google na jakiś stronach i nie znalazłem nic pomocnego : Mianowicie jak użyć znaku EOF w programie czy on jest jakos podpinany jako funkcja czy jak ? HANDLE Plik_Kont_Lokalny; Plik_Kont_Lokalny = CreateFile( "Dane_Aplikacji\\ListaKont.jabin", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL ); DWORD rozmiar = GetFileSize( Plik_Kont_Lokalny, NULL ); W_Int1 = new int; W_Int2 = new int; W_Char1 = new char; * W_Int1 =- 13; * W_Int2 =- 1;
do { * W_Int2 += 1; * W_Int1 += 13; SetFilePointer( Plik_Kont_Lokalny, *( W_Int1 ), NULL, FILE_BEGIN ); ReadFile( Plik_Kont_Lokalny,( LPVOID ) W_Char1, 1, & Bytes_Read, NULL ); } while( * W_Char1 = EOF );
CloseHandle( Plik_Kont_Lokalny ); |
|
Mrovqa |
» 2013-03-15 08:51:58 W plikach nie ma żadnego znaku EOF, który oznacza jego koniec. Po prostu system wie, ile waży plik, i gdy dojdziesz do końca to Cię informuje umownym znakiem EOF (którego w pliku tak naprawdę nie ma). To jest tylko taka pomoc dla programisty. Ofc, możesz sobie zapisać znak EOF binarnie w pliku, jednakże nie będzie on oznaczać końca pliku - funkcje wczytujące znak zwrócą ci jeden bajt pliku, bo w pliku coś jeszcze jest - a EOF ma 2 bajty (albo więcej - nie pamiętam dokładnie). |
|
pekfos |
» 2013-03-15 14:45:03 a EOF ma 2 bajty (albo więcej - nie pamiętam dokładnie). |
Wartość i rozmiar EOF zależy od implementacji. Najczęściej jest to ( - 1 ) . |
|
lergon Temat założony przez niniejszego użytkownika |
» 2013-03-15 20:34:55 Dzięki wielkie za inforamcję zwłaszcza że owe tajemnicze EOF nie istnieje :) a ja szukam jak głupi.
jeżeli mogę mieć jeszcze do was jedno pytanie : to o ile jest przesuwany wskaźnik pliku:
SetFilePointer( Plik_Kont_Lokalny, 1, NULL, FILE_CURRENT );
Zawartość pliku:
1234567890?
obudowałem ten SetFilePointer forem i kolejne wyświetlane elementy to : 1,3,5,7,9,? uznałem wiec że 0.5 jako wartość przesunięcia będzie odpowiednia ale gdy dałem juz 4.5 to wyświetlił mi 1,6 a powinien wedle mojego założenia 1,9 bądź 0 w każdym razie na pewno nie 6.
reasumując jak to jest z tą wartością przesunięcia |
|
pekfos |
» 2013-03-15 20:38:44 |
|
lergon Temat założony przez niniejszego użytkownika |
» 2013-03-16 00:06:45 no to szczerze już kompletnie nie łapie jak przemieścić się tym wskaźnikiem do następnej litery
|
|
pekfos |
» 2013-03-16 12:54:51 Co chcesz uzyskać? Wczytanie wszystkich elementów po kolei? |
|
« 1 » |