| Autor |
Wiadomość |
Wojtek.wk ~user
Dołączył: 20 Paź 2008 Posty: 73 Skąd: Katowice
|
|
Witam! Mam pytanie - czy jest jakaś możliwość, żeby czytać z pliku linijkę po linijce?
Problem mam następujący: mam dwa pliki i chciałbym je scalić w taki sposób, że najpierw czytam pierwszą linijkę z pierwszego, potem pierwszą z drugiego, potem drugą linijkę z pierwszego i drugą z drugiego itd...
Z góry dzięki za wszelką pomoc!
|
|
| Powrót do góry |
|
|
michalmet #Moderator

Dołączył: 11 Gru 2004 Posty: 2312 Skąd: Somewhere in Poland.... Pomógł: 27
|
|
Najprościej będzie użyć funkcji API z biblioteki windows.inc. To będą funkcje CreateFile oraz ReadFile i WriteFile. Wszystko jest dokładnie tak samo, jakbyś pisał w C (poza składnią )
CreateFile z MSDN
|
| Użytkownik otrzymał punkt pomocy za ten post. |
_________________ Miejsce na Twoją reklamę :]
Posadź drzewo!
Może i ostatnio rzadziej bywam, ale wciąż zaglądam  |
|
| Powrót do góry |
|
|
Wojtek.wk ~user
Dołączył: 20 Paź 2008 Posty: 73 Skąd: Katowice
|
|
Tylko, że ja to muszę pisać w czystym ASM, to jest zadanie i musi być tak pisane 
|
|
| Powrót do góry |
|
|
timpler +Przyjaciel P-ZONE
Dołączył: 13 Mar 2008 Posty: 762 Skąd: Wrocław Pomógł: 51
|
|
zainteresuj się przerwaniem int 21h (jesli piszesz pod DOSem / Windowsem) i jego funkcja 3Fh
EDIT: Tutaj masz opis tej funkcji:
http://spike.scu.edu.au/~barry/interrupts.html#ah3f
Na linuxie masz przerwanie int 80h, z tymze funkcji do pracy na plikach (tu czytania) ci nie powiem bo poprostu nie wiem
EDIT: tutaj masz sporo informacji o int 80h (linux):
http://int80h.org/
EDIT: Teraz od ciebie zalezy jak uzyjesz tych funkcji. Pozostanie ci problem odczytu dokladnie jednej linii, poniewaz te funkcje odczytuja X bajtow, wiec nie rozrozniaja linii.
Ja ci polecam wczytywac w petli po jednym bajcie (nie optymalne rozwiazanie), wczytywac bajta do bufora (na kolejny index) i jesli natrafisz na znak \r lub \n ( 0Dh / 0Ah )
wtedy wiesz ze masz nowa linie, wiec doklejasz NULLa (ew. inny terminator) i konczysz te petle (w buforze masz dokladnie jedna linie).
|
| Użytkownik otrzymał punkt pomocy za ten post. |
_________________ Pozdro.
Programista to osoba wytrwała psychicznie, dążąca do swojego celu i nie poddająca się! Nie każdy może nazywać się programistą, ja na szczęście mogę...
 |
|
| Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
MapaPowered by phpBB © 2001, 2005 phpBB Group
|
|