C中的LC_MESSAGES错误

时间:2015-11-24 18:24:15

标签: c locale string.h

我一直在浏览C文档here

我试图运行示例

#define __STDC_WANT_LIB_EXTl__ l
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <locale.h>


int main(void)
{
FILE *fp = fopen(tmpnam((char[L_tmpnam]){0}), "r");
if (fp==NULL) {
    printf("File opening failed: %s\n", strerror(errno));
    setlocale(LC_MESSAGES, "de_DE.utf8");
    printf("Now in German: %s\n", strerror(errno));

#ifdef __STDC_LIB_EXTl__
    setlocale(LC_ALL, "zh_CN.utf8");
    size_t errmsglen = strerrorlen_s(errno) + l;
    char errmsg[errmsglen];
    strerror_s(errmsg, errmsglen, errno);
    printf("Now in Chinese: %s\n", errmsg);
#endif // __STDC_LIB_EXTl__

}
}

但我无法建立它。我收到以下错误:

  

**错误:'LC_MESSAGES'未声明(首次使用此功能)

     setlocale(LC_MESSAGES, "de_DE.utf8");
               ^                             

如何成功构建它?

0 个答案:

没有答案