Lo obtiene sabiendo cómo se procesan los ajustes locales, en función de los valores de las variables de entorno correspondientes.
Tomando la versión GNU como ejemplo, comienza llamando asetlocale (LC_ALL, "")
para establecer la configuración regional actual. Luego pasa por todas las categorías locales , imprimiendo el valor de cada una por turno, con excepciones especiales paraLANG
(impreso primero )yLC_ALL
(impreso último ). Los valores se determinan observando los valores del entorno y siguiendo las reglas que se aplican a la configuración regional:
LC_ALL
, todas las categorías toman el valor correspondiente; LANG
si tiene uno, "POSIX" de lo contrario y el valor se encierra entre dobles -comillas . Вот минимальная программа на C, которую вы можете попытаться скомпилировать в V6 Unix.
#define EOF (-1)
int main(){
int i,a,b;
while(scanf("%*7o") != EOF){
for(i = 0; i<8; i++)
if(scanf("%2x%2x",&a,&b) != EOF){putchar(a); putchar(b);}
}
}
Если результат заканчивается перестановкой байтов, вам может потребоваться инвертировать 2 путчара.