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

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

Δημοσ.

Καλησπέρα σας! 

 

Γνωρίζει κανείς πώς μπορούμε να βάζουμε σαν input στην C ελληνικά;

 

π.χ. ένα πρόγραμμα που δέχετε ως είσοδο ονόματα φοιτητών. 

 

Ευχαριστώ εκ των προτέρων! 

:) 

Δημοσ.

τι τα θες τα ελληνικα και εσυ!!!

 

πρόσφατα είχα μια εργασία και είχα και γω τέτοιο θέμα...

 

έχει να κάνει με τι Windows έχεις, αν είναι ελληνικά ή ξένα!

 

Αν είναι ελληνικά τότε λύνεται πολύ εύκολα, αν έχεις ξένα θέλει λίγη αγκαρία

 

1) Αυτό το κομμάτι είναι σταθερό και στις 2 περιπτώσεις (πρέπει να υπάρχει δηλαδή)

#include <locale.h>
int main()
{
	// Use this before call your code
	if (!setlocale(LC_CTYPE, ".1253"))
		cout << "Fack! i can't enable Greek in console" << endl;
		
	// Here is your code....

	return 0;
}

2) Ελληνικά Windows

Δεν χρειάζεται κάτι επιπλέον!

 

2) Ξένα Windows

Open CMD
	- Change Font to font that can support greek characters (example: Lucida Console)
	- type chcp 1253 to activate greek code page
	- start your program via CMD by typing your program name (Μην ξεχάσεις να
                         μεταφερθείς εκεί που έχεις αποθηκεύσει το πρόγραμμα πρώτα)
	
  • Like 1
Δημοσ.

Δεν ζητάει να τυπώνει ελληνικά μεσω C, αλλα να δίνει ελληνικά μεσω console. Σε αυτη τη περίπτωση δεν χρειάζεται το locale.h, δουλευει κανονικά, και αν πας να τυπώσεις ενα string που έδωσε ο χρήστης απο console στα ελληνικα, θα το εμφανίσει σωστά. Τωρα αν θελει να τυπώσει και έξτρα ελληνικό κείμενο θα χρειαστεί αυτο που είπες.

  • Like 2
  • 3 εβδομάδες αργότερα...
Δημοσ.

 

τι τα θες τα ελληνικα και εσυ!!!

 

 

Να είμαστε τυπικοί :P Για τα μάτια του κόσμου! :)

 

Guys ευχαριστώ πολύ για την βοήθεια!

 

Τελικά δούλεψε χωρίς να κάνω κάτι.

 

Input/Output στα ελληνικά μια χαρά, αλλά και όταν αποθηκεύω στο αρχείο ή το κάνω load στο πρόγραμμα. 

 

bnvdarklord τι εννοείς αν θέλω να τυπώσω έξτρα ελληνικό κείμενο;;;

 

:)

Δημοσ.

Αν γράψεις printf("Γεια") δεν θα βγαλει ελληνικα σε windows συστημα, αλλα αν πας να τυπωσεις μια μεταβλητη που περιεχει ελληνικά που εχει δωσει ο χρήστης μεσα απο την κονσολα(επειδη θα εχουν την κωδικοποιηση της κονσολας) θα βγουν κανονικα.

  • Like 1
Δημοσ.

#include <stdio.h>

#include <stdlib.h>
#include <locale.h>
 
int main()
{
    FILE *MyFile;
    FILE *stream;
    
    char MyString[2000];
    
    setlocale(LC_CTYPE, "1253");
    
    stream=popen("dir", "r");
    
    if(stream==NULL) {
        
        printf("ERROR!\n");
        
        system("PAUSE");
        
        exit(0);
        
    } //End if
    
    while( fgets(MyString, sizeof(MyString), stream) != NULL) {
        
        MyFile=fopen("MyData.txt", "a+");
        
        if(MyFile==NULL) {
            printf("ERROR! (MyFile.txt)\n");
            
            system("PAUSE");
            
            exit(1);
            
        } //End if
        
        fprintf(MyFile, "%s", MyString);
        
        fclose(MyFile);
        
    } //End while
    
    return 0; //End program
    
} //End main

 

 

Guys σε αυτήν την περίπτωση δεν μου τυπώνει ελληνικά στο αρχείο. 

 

Εκεί που πρέπει να τυπώσει τα αρχεία που είναι στα ελληνικά, τυπώνει σύμβολα.

 

Εδώ τι κάνω λάθος;;;

 

(Τα windows είναι στα ελληνικά.) 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...