spilia Δημοσ. 26 Μαΐου 2011 Δημοσ. 26 Μαΐου 2011 Καλησπερα υπαρχει συναρτηση στην C που να μετατρεπει τον ascii αριθμο στον αντιστοιχο χαρακτηρα? τον μονο που βρηκα ηταν την putchar() που τα εκτυπωνει στην οθονη. ευχαριστω.
bnvdarklord Δημοσ. 26 Μαΐου 2011 Δημοσ. 26 Μαΐου 2011 Στην ουσία στην C/C++ ο char και ο int είναι ο ίδιος τύπος. Οπότε μπορεις να γράψεις char c = 97; (χωρίς ' ') και το c θα παρει το γράμμα που αντιστοιχεί στην 97η τιμή του ascii. Αντιστοιχα μπορεις να γράψεις int i = 'a'; κτλ.
spilia Δημοσ. 26 Μαΐου 2011 Μέλος Δημοσ. 26 Μαΐου 2011 >for(i=0;i<=num-1;i++){ char buf = ch[i] ; printf("%s",buf); } αυτο ειναι το ενα κομματι απο τον κωδικα μου οπου ο πινακας int ch εχει αριθμους ascii Οταν κανω compile τοτε μου βγαζει sa.c:44: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’ ενω αν το εκτελεσω παρα το warning Segmentation fault Τι κανω λαθος? ( Αν νομιζετε οτι θα βοηθησει να βαλω ολον τον κωδικα ενημερωστε με)
spilia Δημοσ. 26 Μαΐου 2011 Μέλος Δημοσ. 26 Μαΐου 2011 Σε ευχαριστω πολυ, το προβλημα βεβαια παραμενει καθως αυτο που ηθελα να κανω ουσιαστικα ηταν εγγραφη του χαρακτηρα σε ενα αρχειο και ο τυπος του buf μου παραμενει int >for(i=0;i<=num-1;i++){ char buf = ch[i] ; n =write(fd1,buf,1); } edit:ξεχασα να βαλω &buf ευχαριστω πολυ για την βοηθεια καλο βραδυ
bnvdarklord Δημοσ. 26 Μαΐου 2011 Δημοσ. 26 Μαΐου 2011 Χρησιμοποίησε την fwrite. http://www.cppreference.com/wiki/io/c/fwrite
V.I.Smirnov Δημοσ. 26 Μαΐου 2011 Δημοσ. 26 Μαΐου 2011 υπαρχει συναρτηση στην C που να μετατρεπει τον ascii αριθμο στον αντιστοιχο χαρακτηρα? ευχαριστω. Υπάρχει και είναι η toascii. Μετατρέπει μια αυθαίρετη ακέραια τιμή σε έναν έγκυρο χαρακτήρα ASCII. Ειδικότερα, θέτει όλα τα δυαδικά ψηφία του ακέραιου στο 0 εκτός από τα 7 χαμηλής τάξης του ακέραιου ώστε να προκύπτει ένας έγκυρος ascii χαρακτήρας. Π.χ. c = toascii(intVal); Πρέπει να γίνει η προσάρτηση #iclude <ctype.h> -
V.I.Smirnov Δημοσ. 26 Μαΐου 2011 Δημοσ. 26 Μαΐου 2011 Eδώ δεν νομίζω ότι προσφέρει κάτι παραπάνω. Απλώς θυμόμουν ότι υπάρχει και είπα να το αναφέρω μιας που είδα την ερώτηση. Σε αρχεία κειμένου, το ψηφίο υψηλότερης τάξης (το πλέον σημαντικό byte) συνήθως χρησιμοποιείται για να αποθηκεύονται πληροφορίες μορφοποιήσεων. Μια πιθανή χρήση της λοιπόν μπορεί να είναι για να μετατρέψει ένα τέτοιο αρχείο σε plain text (λέμε τώρα...) -
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.