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 }
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 }
相关文章推荐
- effective c++ 若所有参数皆需要类型转换,请为此采用non-member函数
- C++ 编译器生成默认构造函数的四种情况
- 【C++】重载、覆盖、隐藏
- NetBeans 开发服务器C/C++
- 4.3
- C++中的static关键字
- 4.2
- 4.1
- 3.7
- 3.6
- 3.5
- C++Primer第五版 12.1.3节练习
- 《C++ primer》英文第五版阅读笔记(九)——string(字符串)类型
- ——黑马程序员——C语言构造类型—结构体(一)
- C++类构造函数初始化列表顺序
- C++小品:榨干性能:C++11中的原子操作(atomic operation)
- C++primer学习:类模板(2)类模板:模板参数,成员模板和控制实例化
- C++设计模式[一]工厂模式
- 程序设计基石与实践系列之失落的C语言结构体封装艺术
- C语言入门----输入语句