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

Ascii (integer) --> Char στην C ..! πώς.?


B@GOS.GR

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

Γενικά, ότι σου πε ο πιο πάνω.

 

Gnome: Για να αλλάξεις το character encoding Terminal > Character Enconding > Add or Remove στην κονσόλα του Gnome.

Για τα άλλα δεν θυμάμαι τώρα. Και σε Windows φαντάζομαι κάτι παρόμοιο θα είναι δοκίμασε δεξί κλίκ ή κάπου ψηλά αριστερά πρέπει να έχει κάτι σαν ιδιότητες.

 

Επί του θέματος, νομίζω πως πρέπει:

 

>#define FIRST_CHAR 128

int main()
{
 char Achar[25];

for(i=0; i<24; i++)
 {
    Achar[i]=FIRST_CHAR+i;
  }
[color="Red"]Achar[25]=0;  [/color]
 printf("%s\n",Achar); 

return 0;
}

 

Γιατί αμέσως μετά το τυπώνεις ως sting άρα χρειάζεσαι τον null terminating character. Αν και νομίζω πιο σωστό είναι να τον βάλεις ως '/0'

 

Επίσης θα μπορούσες να γράψεις αντί για 128, 'Α' που θα ήταν και καλά πιο γενικό αλλά δεν ξέρω και πως θα το πάρει ο compiler.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επί του θέματος, νομίζω πως πρέπει:

 

>#define FIRST_CHAR 128

int main()
{
 char Achar[25];

for(i=0; i<24; i++)
 {
    Achar[i]=FIRST_CHAR+i;
  }
[color="Red"]Achar[25]=0;  [/color]
 printf("%s\n",Achar); 

return 0;
}

 

Γιατί αμέσως μετά το τυπώνεις ως sting άρα χρειάζεσαι τον null terminating character. Αν και νομίζω πιο σωστό είναι να τον βάλεις ως '/0'

 

Επίσης θα μπορούσες να γράψεις αντί για 128, 'Α' που θα ήταν και καλά πιο γενικό αλλά δεν ξέρω και πως θα το πάρει ο compiler.

Έχεις δίκιο για το null terminating character, αλλά όπως είπε και ο georgemarinos το Achar[25] θα ήταν εκτός της array. Επειδή ο [email protected] θέλει ένα κενό στο τέλος της array, νομίζω πως τελικά θα πρέπει να είναι έτσι:

>
#define FIRST_CHAR 128

int main()
{
 char Achar[26];

for(i=0; i<24; i++)
 {
    Achar[i]=FIRST_CHAR+i;
  }
Achar[24]=32; 
Achar[25]='\0';
 printf("%s\n",Achar);  

return 0;
}

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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