0

我得到了这个学校项目。我必须按捷克规则按字母顺序对项目列表进行排序。在深入挖掘之前,我决定在 16 x 16 矩阵上对其进行测试,所以我这样做了:

typedef struct {    
wint_t **field;
}LIST;

...

setlocale(LC_CTYPE,NULL);

....

list->field=(wint_t **)malloc(16*sizeof(wint_t *));
for(int i=0;i<16;i++)  
list->field[i]=(wint_t *)malloc(16*sizeof(wint_t));

在另一个函数中,我试图分配一个字符。像这样:

sorted->field[15][15] = L'C';
wprintf(L"%c\n",sorted->field[15][15]);

一切安好。打印字符。但是当我尝试将其更改为

sorted->field[15][15] = L'Č';

它说:宽字符常量中的无关字符被忽略。(Xcode) 并跳过打印部分。main.c 文件采用 UTF-8 格式。如果我尝试打印这个:

printf("ěščřžýááíé\n");

它按书面形式打印出来。我不确定是否应该使用 wint_t 或 wchar_t 分配内存,或者我是否做得对。我对两者都进行了测试,但它们都不起作用。

4

1 回答 1

0
于 2011-12-09T21:57:17.120 回答