kategoria: Blitz
[#1] Fgets() i "newline" na końcu linijki
Cześć,
Komenda Fgets() zwraca pointer do bufora że stingiem. Jeśli na końcu linijki w pliku był Return to ten zwracany string będzie zawierał $0A na końcu.
Jak mam się pozbyć tego znaku z bufora?
Czy mam ten string przypisać do zmiennej, usunąć $0A z końca jeśli tam jest, i już dalej operować na tej zmiennej?
Czy mogę jakoś wywalić ten znacznik z bufora?

Sorry za może i proste pytanie ale już się zakrecilem strasznie tym pisaniem "pod system".

Dzięki
[#2] Re: Fgets() i "newline" na końcu linijki

@peceha, post #1

Już nie ważne.
Skopiowałem do zmiennej, usunąłem co na końcu i wszędzie używam stringa zamiast pointera do bufora.
[#3] Re: Fgets() i "newline" na końcu linijki

@peceha, post #2

Widzę, że więcej używasz funkcji systemowych niż samego blitza. Naturalnym więc wydaje się, że blitz staje się zbędnym i ograniczającym ogniwem co sugeruje przejście na inny język bez owego balastu.
[#4] Re: Fgets() i "newline" na końcu linijki

@cholok, post #3

Jakos tak przypadkiem zauwazylem że w blitz można pisać "system friendly" więc uparlem się że coś spróbuję wyskrobac.
Jeśli mówiąc o innym języku masz na myśli C to już sama myśl o nim mnie przeraża -nie wiem czemu, he. Pamiętam że lata temu nawet kupiłem książkę "ANSI C" ale nic to nie dało
[#5] Re: Fgets() i "newline" na końcu linijki

@cholok, post #3

Ale cholok ma całkowitą rację. Jak chcesz pisać pod system, Blitz to podstawianie sobie samemu nogi. Język C wcale nie jest jakoś istotnie trudniejszy.
[#6] Re: Fgets() i "newline" na końcu linijki

@peceha, post #4

"Nie wiem czemu" ale ja lubię AmigaE. Superszybki kompilator i pisanie "pod system" raczej bezproblemowe. Chyba wystarczająco podobne do C żeby w razie czego bezproblemowo sie przerzucić. A "banglać po rejestrach" teoretycznie można w każdym języku

PS. A w C przeraża mnie walka z flagami kompilacji , makefilesami itp "bzdurami". Jak dla takiego niedzielnego programisty to używanie E jest jednak znacznie prostsze. EC mojeGuru.e jest składnią w sam raz dla małego pisklakowego móżczku ok, racja


Ostatnia aktualizacja: 25.08.2018 13:15:03 przez pisklak
[#7] Re: Fgets() i "newline" na końcu linijki

@pisklak, post #6

Nie ma żadnej walki. Kopiujesz makefile np. z któregoś z moich przykładów w sieci i potem tylko powielasz... To od razu załatwia flagi kompilacji.
[#8] Re: Fgets() i "newline" na końcu linijki

@Krashan, post #7

Zresztą w sumie to makefilesami martwię się na wyrost. Jak na razie moje programiki to pchełki z max setkami linii badziewnego kodu, które mieszczą się w jednym małym pliku żródłowym. Kompiluje się to na Vampie w jakąś sekundę z EC czy ECX. Mimo wszystko IMHO E jest troszkę łatwiejszy do ogarnięcia dla początkującego. Ale to tylko moje prywatne odczucia.
Zresztą BlitzBasic też chyba całkiem przyjemny jest nawet do tego "strasznego pisania pod system".

Ostatnia aktualizacja: 25.08.2018 14:01:37 przez pisklak
[#9] Re: Fgets() i "newline" na końcu linijki

@pisklak, post #8

C i Amiga E to języki bardzo podobne, przy czym E ma szybki i wydajny kompilator i jest dedykowany Amidze.

Atutem Blitza/AMOSa jest z kolei możliwość dodania do programu/gry elementów niskopoziomowych w łatwy i wygodny sposób.

Wadami zarówno E i Blitza dla przeciętnego programisty, jest przymus nauczenia się innej składni.

Wybór języka jest "kością niezgody" wśród programistów. Na podstawie mojego doświadczenia, ja polecam koledze Peceha korzystać z tego, co lubi najbardziej.

Wydawałoby się, że w C osiągniemy wszystko i inne języki, jak AMOS nie mają prawa bytu? Otóż tak do końca nie jest. W przypadku języka C dużą przeszkodą są braki w specjalistycznych bibliotekach.

Ostatnia aktualizacja: 25.08.2018 23:24:44 przez Hexmage960
[#10] Re: Fgets() i "newline" na końcu linijki

@Hexmage960, post #9

Jeśli chodzi o dodawanie niskopoziomowych elementów to E oferuje wbudowany asembler (z "normalną" składnią nie jakieś wymysły gcc) więc nie ma z tym żadnych problemów.
Ale faktycznie - prawda jest taka że programować należy w języku który akurat nam najbardziej pasuje. Nie znam się na BlitzBasicu ale słyszałem o nim sporo dobrego, więc jeśli koledze on pasuje to oczywiście powinien w nim pisać ok, racja
AMOS też jest całkiem fajny - wiem bo daaawno temu coś tam w nim grzebałem. A i np. kolejne Craptra dowodzą że można w nim robić całkiem fajne rzeczy (pozdrowienia dla Mandiego i całego Crap Teamu !) Najważniejsze są chęci i czas... w moim przypadku obie te rzeczy są deficytowe.
[#11] Re: Fgets() i "newline" na końcu linijki

@pisklak, post #10

Jeśli chodzi o dodawanie niskopoziomowych elementów to E oferuje wbudowany asembler (z "normalną" składnią nie jakieś wymysły gcc) więc nie ma z tym żadnych problemów.

Tak, ale wymaga to znajomości Asemblera. W Blitzu/AMOSie nie .
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem