diff --git a/docs/multibyte.md b/docs/multibyte.md index aa78548..a7b36d0 100644 --- a/docs/multibyte.md +++ b/docs/multibyte.md @@ -87,10 +87,10 @@ printf("%s\n", s); // @$` 为了保证程序执行时,字符能够正确解读,最好将程序环境切换到本地化环境。 ```c -set_locale(LC_ALL, ""); +setlocale(LC_ALL, ""); ``` -上面代码中,使用`set_locale()`切换到执行环境切换到系统的本地化语言。`set_locale()`的原型定义在头文件`locale.h`,详见标准库部分的《locale.h》章节。 +上面代码中,使用`setlocale()`切换到执行环境切换到系统的本地化语言。`setlocale()`的原型定义在头文件`locale.h`,详见标准库部分的《locale.h》章节。 像下面这样,指定编码语言也可以。 @@ -110,7 +110,7 @@ printf("%s\n", s); 一旦字符串里面包含多字节字符,就意味着字符串的字节数与字符数不再一一对应了。比如,字符串的长度为10字节,就不再是包含10个字符,而可能只包含7个字符、5个字符等等。 ```c -set_locale(LC_ALL, ""); +setlocale(LC_ALL, ""); char* s = "春天"; printf("%d\n", strlen(s)); // 6 @@ -131,7 +131,7 @@ C 语言的字符串函数只针对单字节字符有效,对于多字节字符 宽字符的字面量必须加上前缀“L”,否则 C 语言会把字面量当作窄字符类型处理。 ```c -set_locale(LC_ALL, ""); +setlocale(LC_ALL, ""); wchar_t c = L'牛'; printf("%lc\n", c);