Vorrei capire come e se serve saper gestire la possibilita' che i numeri possano essere rappresentati in modo diverso da sistema a sistema.
Faccio un esempio: uso windows10, impostato con "Usa lingua di visualizzazione di Windows", che poi è italiano, e nel formato dei numeri ho impostato la virgola per il separatore decimale e il punto come simbolo di raggruppamento cifre.
Ora, se col tastierino numerico premo il "punto", in blocco note viene rappresentato come un punto, in Writer e Calc di Libre Office viene rappresentato come una virgola.
Quando uso i programmini fatti da me di tipo console, il "punto" del tastierino numerico viene rapresentato come punto (nella finestra in cui 'gira' il programma).
Ho letto nella documentazione che C++ permette di interagire con questi aspetti attraverso std::locale.
Da quello che ho capito fino ad ora e' che un programma C++ ha un suo formato standard, ad esempio, il punto come separatore decimale.
Il problema e' quindi duplice:
- e' necessario sapere come il sistema e' impostato per questi aspetti?
- se e' necessario saperlo, come si fa all'inizio del programma a leggere le impostazioni del computer su cui sta girando e usarle al posto di quelle standard del C++;
- cosa comporta la possibilita' di opzioni diverse per i formati numeri nel caso di scrittura / lettura di numeri da file di testo?;
- infine, sistema operativi diversi comportano soluzioni diverse al problema?
Molto probabilmente non esiste una rispostina semplice al/ai problema/i posto/i, chiedo solo qualche input/spunto per poi approfondire la questione personalmente e poi tornare con domande piu' specifiche.
Grazie