2013-02-11 76 views

回答

4

在POSIX兼容系统上,setlocale(LC_CTYPE, NULL);将返回当前为类别LC_CTYPE选择的区域设置的名称。

+0

我曾尝试这样的代码: '#包括 的#include INT主(INT的argc,字符* argv的[]){ \t \t 字符* C = setloc ale(LC_CTYPE,NULL); \t \t if(NULL == c) \t \t printf(“Can not get localization。”); \t别的 \t \t的printf( “当前位置:%S \ n” 个,C); \t \t 返回0; }' 但我得到了这一点:**当前位置:C **。我的错误在哪里? – 2013-02-11 18:26:19

+1

请注意,“C”(或“POSIX”)是可接受的本地化;它是默认的,如果没有设置它。 – 2013-02-11 18:32:51

3

看看nl_langinfolocaleconv手册页。

如何搜索子程序和/或系统调用在Unix系统上:通过中肯

  • 查询。 例如:apropos locale
  • 查找参考man节2(系统调用)或man节3(子例程)的结果。 例如在Mac上:

    querylocale(3)   - Get locale name for a specified category 
    setlocale(3)    - natural language formatting for C 
    
  • 看看手册页