当我使用非ascii字符来定义全局数组时,例如:
const char table[] = {[L'č'] = 'c', ...};
所以 C 可以处理这样的情况:我更改语言环境,然后通过这些索引访问数组?
这是如何编译的?因为'č'
在不同的编码中具有不同的值。
最佳答案
编译器应将源代码中的字符从源代码编码转换为在编译时选择的执行宽字符集。这些值将是常量,具有该编码中该字符的整数值。调用 setlocale()
不会对值产生任何影响。
关于c - 以宽字符作为索引的全局 C 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314831/