PRG65 - setlocale() � OS/2
From
FAQServer@2:5020/181 to
All on Tue Jul 1 07:37:08 2025
[Q]: setlocale() � OS/2
[A]: Alex Samorukov (2:463/598)
�⠪, � �⠭��p� ANSI ��p������� �-�� setlocale, ���p�� �������� y�⠭�������� ������ �p����. ��� �� ���p��������� ���� � ����� �� �� ��⨭��. ��������� �� ���쪮 �� ⠪ �p��� ᤥ���� ��� ��� �y������ ;-)
�⠪, ��p����� LIBC:
EMXLIBC
"C" Locale only, �p��y �⯠����.
Innotek LIBC:
setlocale() ���� � p���⠥�. �p� �⮬ �ᯮ��y���� ��⥬��� OS2 ������,
������ C �y���y�� � p���⠥�.
�ᮡ�� �p����� �p� �ᯮ�짮����� �� �����.
Watcom LIBC
�������筮
VAC 3.06 RT:
� �p��樯� p���⠥�. �p����, �����-� ���� � ���������� � DLL, � ⠪�� ��⥬��� ������ H� �������. ��� �y��樮��p������ ���� �p������ LOCPATH � ����� � lcl 䠩���� (��y�p� �� dll). �p��� �뫮 ����祭�, �� lcl 䠩�� �� �py��� ��pᨩ VAC`� �� ���室��. ��p��, �� ᠬ�� y������ ����, �� ���� �����. ���⠪�� �맮�� ⠪��:
setlocale(LC_ALL,"ru_ru.ibm-866"). �� ���p��y������ �� � %locpath% y ��� ���� ��p���p�� ru_ru � � ��� ����� ibm-866.loc. � �y砥 ��yᯥ� ������� �� "c" ������. �y�� �� static linking ��� ������ ������ ��� � DLL ⠪ � � �᭮���� ����.
OS/2 LIBC (ACP2):
��� �����⭮, � OS/2 �室�� � LIBC ���p� ������ ���� OS/2 �p��p�� � ��. � ��, � ��⭮�� ���� setlocale().
� ��� ���� p���⠥� ;-) ����� ⮣�, ��� �� �p��y�� LCL 䠩��� � ��y�p����� OS/2 �����⥬y. � �� ����� �p����� � dll (������ ���y����). H� ����� �py�y�, �p���� ���p���y� �ᮡ������� - "c" locale ⠪�� �� ᠬ�� ���� �� ���� ;-)
�.�.
setlocale(LC_ALL, "c")
printf("out: A=%c locale in exe=%s\n\n", toupper(0xa0),setlocale(LC_CTYPE,NULL));
���� A=A ����� ���������� A=a � C locale. �� ���� �y ᮢᥬ ���p�� � ��� ���� ����� �� ����諮. ����, � �� ����� �⮩ ���� ��� ��⠫쭮� p���⠥� �p��.
--- INN 2.7.3
* Origin: This echo is READ-ONLY. Send %HELP to FAQSERVER at (2:5020/181)