mirror of
https://github.com/wangdoc/clang-tutorial.git
synced 2026-02-03 10:53:37 +08:00
docs(multibyte): fix typo
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user