C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό migf1 » 06 Φεβ 2012, 03:36

έγραψε:
Η μικρή αυτή βιβλιοθήκη αφενός αντιμετωπίζει δυσάρεστα φαινόμενα που ενδέχεται να προκύψουν από το Line Buffering της κύριας εισόδου και αφετέρου "κρύβει" σχεδόν πλήρως τη χρήση δεικτών για την ανάγνωση μεταβλητών που έχουν οριστεί σε οποιονδήποτε από τους βασικούς τύπους δεδομένων (char, int, float, double), συμπεριλαμβανομένων των προσδιοριστών μεγέθους (short, long, long long) και πρόσημου (signed, unsigned).

Υποστηρίζει προαιρετική χρήση κειμένου προτροπής εισόδου ως 1ο όρισμα σε όλες της τις συναρτήσεις (prompt), ενώ περιλαμβάνει ξεχωριστή συνάρτηση για την ανάγνωση συμβολοσειρών μηδενισμένου τέλους (c-strings), καθώς και δυο συναρτήσεις ταυτόχρονης ανάγνωσης πολλών μεταβλητών, διαφορετικών τύπων, από την ίδια γραμμή εισόδου.

Τέλος παρέχει αυτόνομα μια μικρή συλλογή από macros του προ-επεξεργαστή (pre-processor) για εύκολη αλλαγή/επαναφορά της κωδικοσελίδας εξόδου, στην κονσόλα των Windows (XP ή μεταγενέστερα).

Τον κώδικα τον έγραψα σε μια μέρα, την τεκμηρίωση σε περισσότερο από μια εβδομάδα. Αναλύω πολλά και διάφορα στις Οδηγίες Χρήσης της, με την ελπίδα πως θα φανούν χρήσιμα σε όποιον ταλαιπωρείται με τις στάνταρ συναρτήσεις ή απλά θέλει να ενημερωθεί για τα πιθανά τους προβλήματα και τρόπους επίλυσής τους

Ιστοσελίδα: http://x-karagiannis.gr/prog/libs/conte ... pt_for.php (download στο τέλος της σελίδας).
Τεκμηρίωση: http://x-karagiannis.gr/prog/libs/conte ... /doc/html/ (θέλει καφέ & τσιγάρα :lol:)

Ελπίζω να μη μου έχει ξεφύγει κάνα σημαντικό bug ή καμιά αρλούμπα στην τεκμηρίωση (η οποία με ταλαιπώρησε αφάνταστα). Σημειώστε πως η βιβλιοθήκη ΔΕΝ υποστηρίζει εγγενώς Unicode κωδικοποιήσεις, αλλά είναι cross-platform.

Αν είστε σε Windows και προγραμματίζετε σε κονσόλα, τότε για Ελληνικά προτιμήστε να αποθηκεύετε τα πηγαία αρχεία σας σε κωδικοποίηση Windows-1253 και χρησιμοποιήστε το: w32con_cpout.h που έχω συμπεριλάβει στην βιβλιοθήκη (αλλά ουσιαστικά είναι αυτόνομο) για να την ορίζετε προγραμματιστικά στην αρχή των προγραμμάτων σας, και να επαναφέρετε την αρχική κωδικοσελίδα πριν τερματίσει το πρόγραμμά σας. Με την προϋπόθεση πως έχετε αλλάξει την γραμματοσειρά των Windows από raster που είναι η default σε true-type (Lucida Console σε XP/7 ή Consolas σε 7άρια). Τα εξηγώ και στην τεκμηρίωση, δίνω και δείγμα κώδικα.

Αν είστε σε Linux, προτιμήστε UTF-8 κωδικοποίηση στα πηγαία αρχεία σας.

Τα πηγαία αρχεία της βιβλιοθήκης είναι όλα αποθηκευμένα σε UTF-8, αλλά η βιβλιοθήκη ΔΕΝ υποστηρίζει εγγενώς multi-byte κωδικοποιήσεις!

Ελπίζω με την prompt_for να... κοπάσει η καταιγίδα προβλημάτων κι ερωτήσεων σχετικά με την ανάγνωση της κύριας εισόδους στη C :)
Τελευταία επεξεργασία από migf1 και 06 Φεβ 2012, 04:09, έχει επεξεργασθεί 2 φορά/ες συνολικά
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό Star_Light » 06 Φεβ 2012, 03:41

Suffering from buffering? Not anymore :D

btw καπνιζεις migf1? :o

p.s Δεν μπορεσα να τα δω διοτι για την ωρα το σαιτ σου ειναι down :/
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό migf1 » 06 Φεβ 2012, 03:47

Σαν φουγάρο! :lol:

Up είναι το site, όλη μέρα!
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό Star_Light » 06 Φεβ 2012, 03:50

migf1 έγραψε:Σαν φουγάρο! :lol:

Up είναι το site, όλη μέρα!


Πωπωωω τα φτανεις τα 2 πακέτα την ημέρα? Εγω εχω να καπνισω 10 μηνες πια!
btw βασικα δεν ειναι down εχεις δικιο αλλα το λινκ που δινεις δεν ειναι ενταξει
-> http://x-karagiannis.../prompt_for.php που δεν σε οδηγει καπου. :S
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό migf1 » 06 Φεβ 2012, 03:53

Παλιο-insomnia, το έκανα copy & paste από εκεί όλο το σώμα του post, κι εκεί τα κόβει τα links.
Το έφτιαξα, thanks!
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό Star_Light » 06 Φεβ 2012, 04:02

migf1 έγραψε:Παλιο-insomnia, το έκανα copy & paste από εκεί όλο το σώμα του post, κι εκεί τα κόβει τα links.
Το έφτιαξα, thanks!


Oχι. Θες κατι και στο 2ο λινκ :lol: :lol:
αυτο της τεκμηρίωσης... καλα νταξει κουτουλας απο την κουραση και εσυ !
Κανε κανα τσιγαρακι και αντε να την πεσεις -.-
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό migf1 » 06 Φεβ 2012, 04:10

Ότι κουτουλάω, κουτουλάω!!! Το φτιαξα κι αυτό, thanks και πάλι :)
(αν και το 2ο link υπάρχει στη σελίδα που οδηγεί το 1ο)
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό Star_Light » 06 Φεβ 2012, 04:13

migf1 έγραψε:Ότι κουτουλάω, κουτουλάω!!! Το φτιαξα κι αυτό, thanks και πάλι :)
(αν και το 2ο link υπάρχει στη σελίδα που οδηγεί το 1ο)


Εμεις ευχαριστουμε φιλε μου. Αλλη μια σπουδαια δουλεια υπο την αιγίδα migf1 :D
θα την διαβάσω αύριο γιατι απο οσο το βλεπω θελει να του αφιερωσεις αξιοσεβαστο χρονο.
Τελοςπαντων αντε καληνυχτα!
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: C - prompt_for: Bιβλιοθήκη ανάγνωσης εισόδου

Δημοσίευσηαπό migf1 » 06 Φεβ 2012, 04:15

Θέλει, ναι!

Καληνύχτα κι από μένα, με φωνάζει το κρεβάτι μου :lol:
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση


Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι