PDA

View Full Version : [C] Funzione 'toascii' e Warning


Leosirth
19-01-2006, 21:19
Salve, ho utilizzato la funzine 'toascii' in un progetto, ma nonostante abbia incluso la libreria <ctype.h> al momento della compilazione mi esce il warning:

implicit declaretion of function 'toascii'

qualcuno sa aiutarmi? grazie a tutti anticipatamente

cionci
19-01-2006, 21:59
Che io sappia toascii non esiste nella libreria standard... Cosa vuoi fare con quella funzione ?

AnonimoVeneziano
20-01-2006, 11:58
Se vuoi convertire un numero in una stringa usa sprintf() , altrimenti vedi te :)

Ciao

andbin
20-01-2006, 12:31
Se vuoi convertire un numero in una stringa usa sprintf() , altrimenti vedi te :)
La funzione toascii non converte un numero in stringa (come il nome potrebbe far pensare)! Fa una cosa un po' più banale (e io aggiungerei stupida), cioè dato un carattere gli azzera il bit 7 in modo che sia sempre nel range 0-127 (quindi sempre ASCII puro).
A cosa possa servire ... non lo so. ;) Oltretutto basterebbe fare c & 0x7f.

AnonimoVeneziano
20-01-2006, 12:51
La funzione toascii non converte un numero in stringa (come il nome potrebbe far pensare)! Fa una cosa un po' più banale (e io aggiungerei stupida), cioè dato un carattere gli azzera il bit 7 in modo che sia sempre nel range 0-127 (quindi sempre ASCII puro).
A cosa possa servire ... non lo so. ;) Oltretutto basterebbe fare c & 0x7f.


Mado! :doh:

Una funzione creata appositamente per minare la portabilità tra sistemi

Ciao

Leosirth
20-01-2006, 16:23
La funzione 'toascii' mi serve per convertire un qualunque carattere in codice ascii, essendo nella libreria <ctype.h> dovrebbe essere standard e quindi ANSI.

Ma nn capisco come mai mi esce il warning anche includendo la libreria.
Il programma viene cmq compilato ed e' funzionante con i parametri:

gcc -ansi -Wall

AnonimoVeneziano
20-01-2006, 20:23
La funzione 'toascii' mi serve per convertire un qualunque carattere in codice ascii, essendo nella libreria <ctype.h> dovrebbe essere standard e quindi ANSI.

Ma nn capisco come mai mi esce il warning anche includendo la libreria.
Il programma viene cmq compilato ed e' funzionante con i parametri:

gcc -ansi -Wall
TOASCII(3) Linux Programmer's Manual TOASCII(3)

NAME
toascii - convert character to ASCII

SYNOPSIS
#include <ctype.h>

int toascii(int c);

DESCRIPTION
toascii() converts c to a 7-bit unsigned char value that fits into the
ASCII character set, by clearing the high-order bits.

RETURN VALUE
The value returned is that of the converted character.


A me non sembra una funzione molto utile ...

Personalmente ti consiglierei di fare a mano se proprio hai bisogno di mandare a zero i primi bits di una variabile (e ti risparmi pure la chiamata di funzione)

Ciao