Προς το περιεχόμενο

ελληνικά με τη c/c++ (σε dos περιβάλλον)


tzekas

Προτεινόμενες αναρτήσεις

Δημοσ.

Για σας παιδιά. Είμαι καινούργιος στο φορουμ και γενικά αρχάριος στον προγραμματισμό. Σχεδόν από την πρώτη στιγμή που άρχιζα να μαθαίνω c/c++ είχα την ακόλουθη απορίαΥπάρχει τρόπος να εκτυπώσουμε ελληνικά σε dos με την C ή C++? Πιστεύω είναι μια κλασική ερώτηση που έχει απασχολήσει πολλούς. Έψαξα στο φόρουμ αλλα δέν βρήκα απάντηση.

Δημοσ.

Ε, εννοουσα σε console mode (μπερδεύω την κονσόλα με το dos!) .

Τέλος πάντων , το λινκ που μου έδωσες προτείνει μια καλή λύση.

ΟΜΩΣ δεν είναι ακριβώς αυτό που θέλω.Ψάχνω μια συνάρτηση (η κάτι τέτοιο) που να εμφανίζει τους ελληνικούς χαρακτήρες. Κάπου στο net δίαβασα για μια wprintf που εμφανίζει unicode χαρακτήρες (αρα και τους ελληνικούς) αλλά δεν έβγαλα άκρη. ΤΠ Ελπίζω να μην ζητάω πολλά , ευχαριστώ για τη βοήθεια :) .

Δημοσ.

Ίσως αυτή η συνάρτηση να είναι αυτό που ψάχνω. Όμως πώς την χρησιμοποιώ? Μπορείς να μου δείξεις ένα μικρό παραδειγματάκι??

Δημοσ.

Ο κώδικας είναι πολύ απλός και λειτουργεί σε κατάσταση dos-box (λόγο Windows GDI) αλλά όχι full-screen καθώς εκεί αναλαμβάνει δράση το VGA Video BIOS, οπότε απαιτείται επαναπρογραμματισμός του VGA font-table.

 

>
#include <stdio.h>			// printf
#include <conio.h>			// getch
#include <windows.h>		// SetConsoleOutputCP

int main()
{
SetConsoleOutputCP(1253);
printf("Αυτό το κείμενο είναι γραμμένο με την Κωδικοσελίδα 1253!\nΠάτα πλήκτρο για έξοδο..");
getch();

return 0;
}

Δημοσ.

Ευχαριστώ για τον κόπο σου ν'απαντήσεις και να μου γράψεις και το πρόγραμμα DirectX! To πρόγραμμά σου τρέχει κανονικά (στη Dev-c++) !!! ....

Όμως , εμφανίζονται μη αναγνωρίσιμοι χαρακτήρες (αλλαμπουρνέζικα δηλαδη!)

Μάλλον δεν κάνω κάτι σωστά. Πρέπει να αλλάξω την γραμματοσειρά του dos-box όπως με συμβουλεύει το link που μου έδωσες?

Αν είναι έτσι έχω να σου κάνω 2 ερωτήσεις: 1ον) Πώς αλλάζουμε την γραμματοσειρά(!είμαι άσχετος!) και 2ον) θα είναι μεταφέρσιμος αυτός ο κώδικας? π.χ. αν το δώσω σ'έναν φίλο μου θα δουλεύει????

Δημοσ.

Ναι, πρέπει να έχεις επιλέξει την Lucida Console, αν πληρούνται αυτές οι προϋποθέσεις, πιστεύω ότι θα είναι μεταφέρσιμος.

 

Η αλλαγή γίνεται με κλικ στο παράθυρο της Console και επιλογή (αυτή την στιγμή δουλεύω σε Ελληνικά XP) Ιδιότητες->Γραμματοσειρά Lucida Console και ύστερα OK, στο ερώτημα που ακολουθεί επιλέγουμε την δεύτερη επιλογή ώστε ο φόντος Lucida να εφαρμόζεται πάντα στο άνοιγμα αυτού του Console παραθύρου..

 

Υ.Γ.

Από ότι είδα τα Vista παρέχουν μια νέα εντολή SetCurrentConsoleFontEx η οποία ελπίζω ότι μπορεί να λύνει αυτά τα προβλήματα μια και καλή.. (το Ex είναι παραπλανητικό διότι όσο και αν κάνει εντύπωση δεν υπάρχει SetCurrentConsoleFont εντολή σε προγενέστερες εκδόσεις των Windows).

Δημοσ.

Χμμμμ.... Για να δώ?.... Τα κατάφερα! Ακολούθησα πιστά τα βήματά σου και ΔΟΥΛΕΥΕΙ ΤΕΛΕΙΑ. :) :) :)

Επιτέλους! Καταραμμένα greeklish απαλλάχτηκα από εσας. Ζήτω τα ελληνικά...

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...