En informàtica, les funcions de localització C són un grup de funcions en el llenguatge de programació C que implementen rutines bàsiques de localització. Les funcions s'utilitzen en programes multilingües per adaptar-se a la configuració regional específica. En particular, es pot modificar la manera de mostrar els números i la moneda. Aquests paràmetres afecten el comportament de les funcions d'entrada/sortida a la biblioteca estàndard C.
Visió general de les funcions Les funcions i els tipus de localització C es defineixen a (capçalera en C++). FuncióDescripciósetlocaleestableix i obté la configuració regional C actuallocalconvretorna detalls de format numèric i monetari de la configuració regional actual
Crítica Les funcions de localització estàndard C són criticades perquè l'estat de localització s'emmagatzema globalment. Això vol dir que en un programa donat totes les operacions que involucren un local només poden utilitzar un local alhora. Com a resultat, és molt difícil implementar programes que utilitzen més d'una configuració regional.
Les funcions alteren el comportament de printf/scanf/strtod que sovint s'utilitzen per escriure dades desades en un fitxer o en altres programes. El resultat és que un fitxer desat en una configuració regional no es podrà llegir en una altra configuració regional o no es podrà llegir en absolut a causa de suposicions com ara "els números acaben en caràcters de coma". La majoria de programari a gran escala obliga la configuració regional a "C" (o un altre valor fix) per solucionar aquests problemes.
Exemple #include <stdio.h> #include <stdlib.h> #include <locale.h>
int main(void) { /* Locale is set to "C" before this. This call sets it to the "current locale" by reading environment variables: */ setlocale(LC_ALL, "");
const struct lconv * const currentlocale = localeconv();
printf("In the current locale, the default currency symbol is: %s\n", currentlocale->currency_symbol);
return EXIT_SUCCESS; }
Referències
Categoria:Llenguatge de programació C