Linuxtrent: printf e locale

  • From: Daniele Nicolodi <daniele@xxxxxxxxxx>
  • To: linuxtrent <linuxtrent@xxxxxxxxxxxxxxxxx>
  • Date: Sun, 16 Sep 2001 15:40:46 +0200

Devo convertire un long in una stringa e per farlo uso sprintf.

Problema: la stringa risultante deve utilizzare come separatore decimale 
il punto e non la virgola. sprintf invece mette quanto gli dice LC_NUMERIC.

Soluzioni:

1. poco elegante ma funziona: definisco una funzione dnSprintf che imposta
   LC_NUMERIC a C prima di efettuare la vera sprintf e la ripristina dopo.
2. complesso e ancora meno elegante: dopo la sprintf esamino la stringa
   e sostituisco l'eventuale virgola con un punto.
3. complesso ma teoricamente perfetto: mi implemento la mia funzione
   dnSprintf che se ne frega della localizzazione.

Suggerimenti ??

Ciao
-- 
Daniele
                    --- http://www.grinta.net ---
-- 
PROSSIMA ASSEMBLEA: venerdi` 28 settembre 2001 20:30 a Madrano di Pergine.

Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts:

  • » Linuxtrent: printf e locale