c语言Unicode值转换为字符不会是乱码,罗马数字显示

来源:互联网 发布:python ggplot2 编辑:程序博客网 时间:2024/06/08 00:35
  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <locale.h>
  4 #include <string.h>
  5
  6 char *feng(int number);
  7 char *strings(char *s1, char *s2);
  8
  9 int main()
 10 {
 11     char *sss = "liu";
 12     printf("%s\n", strings(sss, feng(0X2160)));
 13     return 0;
 14 }
 15
 16 char *strings(char *s1, char *s2)
 17 {
 18    char *result = malloc(strlen(s1)+strlen(s2)+1);
 19    if (result == NULL) exit (1);
 20    strcpy(result, s1);
 21    strcat(result, s2);
 22    return result;
 23 }
 24
 25 char *feng(int number) {
 26     char *str = (char *)malloc( MB_CUR_MAX );
 27     wchar_t wstr[] = {number, 0};
 28     setlocale(LC_ALL, "");
 29     wcstombs(str, wstr, MB_CUR_MAX);
 30     return str;
 31 }
0 0