您的位置:首页 > 编程语言 > C语言/C++

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

2015-11-03 15:13 477 查看
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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: