Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-02-2005, 13:13   #1
gio84
Member
 
Iscritto dal: Jan 2005
Messaggi: 199
C++ Funzione predef.

Ragazzi mi serve una funzione che mi trasformi un carattere in decimale.
esempio:
mi deve trasformare il char CARRIAGERETURN nel numero 13 (tabella ascii)
ETC ETC...

ho provato con dec(char)
ma credo che non vada bene
gio84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 14:13   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Un char è già un numero (ad 8 bit, normalmente - ma non sempre - con segno). Ad es:

char x = 'a';
printf("Carattere %c codice %d", x, x);
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 14:20   #3
gio84
Member
 
Iscritto dal: Jan 2005
Messaggi: 199
ok ma praticamente io devo fare un controllo su questo codice e comunque quando premo invio non mi restituisce il valore decimale del CR.
come faccio?
in pascal c'e' la funzione ord()
in c++?
gio84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 15:07   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
In C++ un char è già un intero... Puoi scrivere benissimo:

char c = leggo_un_char();

if (c == 13) etc etc
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 15:35   #5
gio84
Member
 
Iscritto dal: Jan 2005
Messaggi: 199
ho capito ora funziona, xò mi porta il valore del CR uguale a 10
solitamente è 13
strano...
gio84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 15:47   #6
Argosoft
Senior Member
 
L'Avatar di Argosoft
 
Iscritto dal: Aug 2003
Città: addio fabriANO... mò sto a Roma ahò!!
Messaggi: 579
CR = Carriage Return = 13
LF = Line Feed = 10

un "a capo" completo : CR+LF (sotto windows)
Argosoft è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 15:56   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Controlla con il carqttere '\n' invece che con 10 o 13...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 16:39   #8
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Invio

l'invio di windows come scritto correttamente sopra è formato dalla sequenza dei caratteri 13+10 che nelle stringhe c vengono scritti corrispettivamente:
'\n'=10
'\r'=13
Quindi per esempio per scrivere un invio corretto sul un file con il ci si può usare la stringa "\r\n"

Ciao
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 16:58   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Comunque quando si lavora esclusivamente con i file in modalità testo...basta considerare il carattere di fine riga come \n...in questo modo si possono fare programmi portabili che non tengono conto di questa differenza...
Il carattere \r viene automaticamente tolto dalle routine di lettura e messo automaticamente dalle routine di scrittura...

Bisogna andare a considerarlo nuovamente \r\n solo quando si lavora in modalità binaria...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2005, 17:06   #10
gio84
Member
 
Iscritto dal: Jan 2005
Messaggi: 199
ok grazie
gio84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:12.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v