GTK+获取字符ASCII码值的程序(支持多字符) 作者:AlimysoYang
来源:互联网 发布:全站仪数据 编辑:程序博客网 时间:2024/04/27 19:10
#include <gtk/gtk.h>
GtkWidget *wnd;
GtkWidget *hbox1,*hbox2,*hbox3,*vbox;
GtkWidget *lbchars,*lbasciivalue;
GtkWidget *etchars,*etasciivalue;
GtkWidget *btnascii;
void ui_init()
{
wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(wnd),"ASCII转换");
gtk_window_set_position(GTK_WINDOW(wnd),GTK_WIN_POS_CENTER);
lbchars = gtk_label_new("请输入");
etchars = gtk_entry_new();
hbox1 = gtk_hbox_new(FALSE,2);
gtk_box_pack_start(GTK_BOX(hbox1),lbchars,FALSE,TRUE,2);
gtk_box_pack_start(GTK_BOX(hbox1),etchars,TRUE,TRUE,2);
lbasciivalue = gtk_label_new("ASCII值");
etasciivalue = gtk_entry_new();
hbox2 = gtk_hbox_new(FALSE,2);
gtk_box_pack_start(GTK_BOX(hbox2),lbasciivalue,FALSE,TRUE,2);
gtk_box_pack_start(GTK_BOX(hbox2),etasciivalue,TRUE,TRUE,2);
btnascii = gtk_button_new_with_label("ASCII码转换");
hbox3 = gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(hbox3),btnascii,TRUE,TRUE,0);
vbox = gtk_vbox_new(TRUE,2);
gtk_box_pack_start(GTK_BOX(vbox),hbox1,TRUE,TRUE,2);
gtk_box_pack_start(GTK_BOX(vbox),hbox2,TRUE,TRUE,2);
gtk_box_pack_start(GTK_BOX(vbox),hbox3,TRUE,TRUE,2);
gtk_container_add(GTK_CONTAINER(wnd),vbox);
gtk_widget_show_all(wnd);
}
int chartoascii(gchar c)
{
int i = c;
return i;
}
void btnascii_clicked(GtkButton *button,gpointer user_data)
{
gtk_entry_set_text(GTK_ENTRY(etasciivalue),"");
const gchar *str = gtk_entry_get_text(GTK_ENTRY(etchars));
if (str!=NULL)
{
gchar *c;
c = &(*str);
const gchar *result = "";
int i,ir,len;
len = strlen(str);
for (i = 0;i<len;i++)
{
ir = chartoascii(*c);
c++;
result = g_strdup_printf("%d ",ir);
gtk_entry_append_text(GTK_ENTRY(etasciivalue),result);
}
}
}
int main(int argc,char *argv[])
{
gtk_init(&argc,&argv);
ui_init();
g_signal_connect(G_OBJECT(wnd),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(G_OBJECT(btnascii),"clicked",G_CALLBACK(btnascii_clicked),NULL);
gtk_main();
return 0;
}
好像个警告,运行结果:
- GTK+获取字符ASCII码值的程序(支持多字符) 作者:AlimysoYang
- 多字节与宽字节处理及ASCII码页转换及利用宽字符输出所有的字符
- sql获取字符ASCII码
- Unicode字符的引入--支持Unicode和Ascii编码的程序
- 字符的ASCII码
- MySQL5.1的多字符集支持
- ASCII码值对应的字符
- 根据ASCII码如何获取字符
- ASCII值与字符相互转换程序
- 字符对应的ASCII码
- 字符ascii码与字符的转换
- 无效的多字节字符
- 在vs2013中默认不再包含对多字节字符编码的支持
- 在vs2013中默认不再包含对多字节字符编码的支持
- VS2013中添加对多字符集的支持
- 获取字母的ASCII码
- C#中结构数组怎么定义?怎么获取一个字符的ASCII码?
- C语言基础 获取字符串中某一字符的ASCII码
- 设置MySQL设置字符集和排序方式
- awk中RS,ORS,FS,OFS区别与联系
- 关于awk的学习可以参考这个blog
- ThreadX和Nucleus的区别
- C#调试心经
- GTK+获取字符ASCII码值的程序(支持多字符) 作者:AlimysoYang
- 浏览器只允许输入数字
- 在做项目过程中一点小感悟
- 《与孩子一起学编程》书评
- linux下的计算器bc
- sybase数据库常用操作方法
- PowerBuilder与Sybase SQL Server的连接
- 学习冒泡排序
- 原来婚姻只是一只风筝