Δημοσιεύτηκε: 10 Ιουν 2011, 06:47
από UnKnown96
migf1 έγραψε:
UnKnown96 έγραψε:Ο κώδικας σου με τόσες αλλαγές που μου έχεις πει, πάει για νέα έκδοση... (πλάκα κάνω) :D
Σε τι λειτουργικό το δοκίμασες με τόσους compiler κλπ και σου δουλεύει;
Μιλάω από Ubuntu τώρα και το πρόβλημα με το πρόγραμμα σου, παραμένει ενώ το δικό μου, μια χαρά (εκτός απο το γνωστό bug).


Το δοκίμασα σε FreeBSD Unix με gcc 4.2.1 σε bourne και cshell και σε windows με djgpp, mingw και pelles-c (το linux μηχάνημά μου τα 'χει φτύσει και το πάω από Κυριακή σε Κυριακή για να το ξανά φτιάξω :lol:)

Αν έχεις πολύ πρόσφατη έκδοση του gcc ίσως έχουν καταργήσει τη συμβατότητα με το fflush(stdin) οπότε αυτό είναι το πρόβλημα (και μάλλον αυτό ψυλλιάζομαι).

Όπως και να 'χει, έβαλα ένα preprocessor directive στον κώδικα ώστε όταν γίνεται compile με gcc να μη χρησιμοποιεί την getchar() αλλά να διαβάζει την επιλογή του μενού ως string μέσα στη μεταβλητή inbuf[], μέσα στο switch.

Εδώ είναι ο κώδικας: http://ideone.com/Ce88n (αν δεν σου δουλεύει ούτε τώρα, τότε θα πρέπει να απενεργοποιήσεις το input buffering με κάι σαν τη συνάρτηση: tcsetattr η οποία είναι linux specific, αλλά δεν νομίζω πως θα χρειαστεί).

Btw, όλες V2 είναι αυτές οι μικρο-αλλαγές.


Αυτό δουλεύει άψογα!
Κανένα error χωρίς λόγο και όταν γράψεις γράμμα, εμφανίζεται στην σωστή θέση.
Προσπάθησα να το μπλοκάρω αλλά τίποτα...
Να το αντικαταστίσω με την V2 του αρχικού post;
Διότι εκείνη δεν δουλεύει ούτε σε FreeBSD αλλά ούτε και σε Ubuntu (και μάλλον και στα υπόλιπα Linux-Distros...).