Newsgroup: it.comp.lang.c
Titolo: Qualche domanda su quello che dice lo standard ISO... e non solo

Prima di tutto, volevo sapere se è possibile trovare da qualche parte,
senza impoverirsi, una copia UFFICIALE e aggiornata dello standard ISO
C (mi interessa in particolare la specifica del linguaggio, non tanto
la libreria standard).
Poi:
1) Lo standard definisce le varie classi di memorizzazione, e ne
definisce caratteristiche e comportamenti (tipo: i const non possono
essere variati, e vanno inizializzati prima, le globali se non sono
inizializzate, verranno automaticamente inizializzate con degli zeri, e
le locali no, etc...), e indica che c'è uno stack per le variabili
locali e un heap.
Mi chiedevo se oltre a dire che c'è un heap, che viene usato per
l'allocazione dinamica, e uno stack, che viene usato per i dati locali,
se per caso specificasse cose più specifiche tipo la posizione in
memoria che lo stack deve avere rispetto all'heap, ad esempio:
indirizzi più alti o più bassi (non credo lo specifichi), il fatto
che lo stack "cresca" verso l'alto o il basso (non credo specifichi
neanche questo), o altro...
2) Lo standard ISO C da quanto ne so garantisce che, per i char, i
valori da 0 a 127, quando visualizzati come caratteri, corrispondano
esattamente al set ASCII standard, giusto?
Riguardo i caratteri da 128 a 256 invece non specifica nulla, e sta
alle singole implementazioni fissare il comportamento?
3) E cosa dice esattamente riguardo i wide char? Mi interessa tra
l'altro molto anche l'eventuale modo di gestire i caratteri Unicode, in
questo o altri modi.
Spero di essere stato abbastanza chiaro. Ovviamente, se così non
fosse, cercherò di spiegarmi meglio.
Grazie in anticipo per le eventuali risposte.
PS. In caso esistano, dove posso trovare le FAQ del NG?

 la libreria standard).
Sul sito della ISO ;-) La versione cartacea costa uno sproposito, ma
qualche anno fa ho acquistato la versione elettronica (PDF) per 18USD.
[Al resto rispondo domani...]
Luca
-- 
Home: 
http://kronoz.cjb.net
E` bene ricordare che l'intero Universo è formato,
con un'unica trascurabile eccezione, dagli "altri".

 locali e un heap.
No. Le Standard del C non parla né di 'stack' né di 'heap'.
Max

 PS. In caso esistano, dove posso trovare le FAQ del NG?
Solitamente rimandiamo a quelle di comp.lang.c:
http://www.eskimo.com/~scs/C-faq/top.html
Luca
-- 
Home: 
http://kronoz.cjb.net
La mia opinione puo` essere cambiata, ma non il fatto che ho ragione.

mai interessato della cosa e non dirti i dettagli.
Ok riguardo a come gestisco internamente i caratteri (se leggo da file
non ho problemi a leggere byte dopo byte un file con set UTF-8,
processarlo con le mie funzioni, e ristamparlo), ma io chiedevo proprio
riguardo l'interfacciamento con l'ambiente, ovvero come fare per far si
che leggo un carattere dalla tastiera, e questo mi venga "letto"
come carattere UNICODE, e non ASCII, etc.
Mi chiedevo insomma quali regole seguissero a riguardo le funzioni
standard della libreria, ma immagino che appunto questo sia lasciato
all'implementazione, per cui magari ho una funzione getchar() per i
caratteri wide, che, in un certo ambiente, ad esempio Mac OS X,
restitusce effettivamente un valore UTF-16, etc...
Spero di essere stato chiaro, in particolare in quest'ultimo punto.
Grazie!

 restitusce effettivamente un valore UTF-16, etc...
Sicuramente ci sara` una variabilita` da un sistema all'altro, e AFAIK
l'implementazione supporta al piu` una codifica estesa. Quindi se la
libreria di permette di leggere l'input UTF-16 non potrai leggere
caratteri UTF-32.
A una lettura superficiale lo standard pare molto vago...
Personalmente quando devo assicurarmi la "portabilita`" di encoding uso
l'UTF-8 che e` il metodo con minore impatto sul codice da scrivere. Di
piu` non so ;)
Luca
-- 
Home: 
http://kronoz.cjb.net
Sono un mirabile incrocio tra Tarzan e Giacomo Leopardi.
In me convivono tutte le doti intelluttuali di Tarzan e
tutta la prestanza fisica di Giacomo Leopardi.
A. Borsani

[...]
... ci sai dire il nome del
libro in pdf sullo standard C?
Grazie
Ciao

piu` non so ;)
Cioè... cosa fai esattamente per usare UTF-8 nei tuoi progetti?
Insomma, come fai a fare in modo che venga usato quello, e non un set
ASCII esteso?
Grazie

qualche anno fa ho acquistato la versione elettronica (PDF) per 18USD.
Fortunato... Ho visto il thread, sono andato a indagare sul sito, e il
pdf costa esattamente quanto la copia cartacea: 340CHF... =:-/
-- 
Artemio Vallelinda
icq uin # 6492727  <- ce l'ho corto... :-)
C'è una sostanziale differenza tra un genio e un idiota...
il genio ha dei limiti.