docs(multibyte): fix typo

This commit is contained in:
董超凡
2021-11-17 12:07:39 +08:00
parent 4191a4f0b4
commit 1b420288cd

View File

@@ -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);