标签: c encoding setlocale
当我使用非ascii字符定义全局数组时,例如:
const char table[] = {[L'č'] = 'c', ...};
所以C处理情况,我改变语言环境,然后通过这些索引访问数组? 怎么编译?因为'č'在不同的编码中具有不同的值。
'č'
答案 0 :(得分:1)
编译器应将源代码中的字符从源代码编码转换为在编译时选择的执行宽字符集。然后,这些值将是常量,其中包含该编码中该字符的整数值。致电setlocale()不会对价值产生任何影响。
setlocale()