|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
ragazzi come converto un intero in un carattere?...
....
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
|
dovresti specificare in che linguaggio
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
in c.....scusami!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Credo che basti un casting... una cosa del tipo:
char c; int i; i = 27; c = (char)i; Però dovresti controllare prima che i stia nei limiti consentiti per i caratteri ASCII... se vuoi usare l'Unicode, non so!
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
ma cosi io converto il carattere nell intero i....il moi obiettivo e di far leggere i come un carattere, per poi passarlo ad un file...o posso passare interi ad un file?....
con il tuo codice il carattere diventa un intero e lo tratto come tale quindi è inutile..
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Scusa, ma o non ho capito assolutamente quello che vuoi fare, oppure non hai capito il mio suggerimento: con il mio codice, io prendo un intero (i), gli assegno un valore (così, per fare un esempio), e poi memorizzo in c il carattere corrispondente al numero dell'intero, secondo i codici ASCII. Quindi il mio codice non converte un carattere in un intero, ma fa esattamente il contrario.
Forse tu vuoi fare il parsing di i "in caratteri"? Cioè trasformare 10 in "10"? In quel caso la cosa è un po più complessa, ma non irresolvibile! Bisogna scriversi una routine per il parsing, oppure usare una funzione di libreria già fatta. In ogni caso penso che tu possa scrivere anche interi in un file: d'altra parte, un carattere è un intero, tutto sommato: quindi, non dovrebbe essere complesso. Però io non l'ho mai fatto...
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
io ho provato a stampare dopo il carattere che avevo ottenuto con l assegnazione:
carattere=(char)intero solo che quando lo tratto come carattere non me lo stampa e mi da un errore, segmetation fault, mentre quando lo tratto come intero mi funziona!!! cosa da pazzi cioè in c non riesco a scrivere un intero in un file ...è incredibile!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Penso di aver sbagliato io, come ho scritto nell'altro post, un intero è troppo grande per stare in un char, bisogna "spezzarlo" in due char distinti... comunque, non dovrebbe darti errori: il casting forzato trasforma l'intero in un char, solo che fa un macello credo: cioè dovrebbe uscire una cosa che non centra nulla con l'int, ma non dovrebbe darti un errore...
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Sep 2001
Messaggi: 181
|
Re: ragazzi come converto un intero in un carattere?...
Quote:
a meno di piattaforme....ormai sembra quasi uniformato.....un char è un byte mentre un intero 4......nn gna farai mai! al max puoi utilizzare un char*(alias array di caratteri alias stringa in c). a questo punto è semplice....anche se molte persone nn sono dac sull'utilizzo...lo faccio da sempre e mi sono trovato sempre bene! ti faccio le quadre con |: char intTOchar*; int intero = 1024; //es. intTOchar = new char|sizeof(int)|; sprintf(intTOchar,"%d",intero); ...ovviamente ci metti il tappo(/0) alla stringa e...stai apposto! aaaaaaaa ho utilizzato la new...te dicevi c, va be...cambi la primitiva con una malloc....insomma volevo solo evidenz la sprintf nell' es.! |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2004
Messaggi: 1578
|
Forse intendeva convertire una numero di una cifra in un carattere con quella cifra corrispondente
non uso c da una vita ma farei char c = ( char ) 48 + cifra; |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jan 2004
Città: Montignoso(MS)
Messaggi: 9464
|
Quote:
Codice:
/*Apertura file...*/
int i = 5;
if (write (fd, &i, sizeof(int)) != sizeof(int))
{
perror("Errore sulla write");
exit(-1);
}
__________________
"Il Meglio che si possa ottenere è evitare il peggio." I.C. |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Oct 1999
Città: Milano
Messaggi: 531
|
si grazie
il fatto è che non ci ruiscivo poi sul man del C trovavo scritto che alla write bisognva passare un char *buff .........niente mi ero arreso!
__________________
Vintage signature: Abit nf7-s, Xp 2500+@2300mhz, 256 mb 418mhz cas2, geforce fx5700,S-ATA 160 Maxtor,Lg gsa 4120b...prima..ma ora..DELL INSPIRON 6400, ATI X1300... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:44.


















