求助,GTK中行编辑获取字符串后再输出乱码

Rank_soki 2017-12-06 11:15:10
在学习GTK,创建了行编辑来获取用户输入,其中一个模块代码如下:

#include"stdio.h"
#include"stdlib.h"
#include<string.h>
#include<gtk/gtk.h>
#include"pre.h"
#include"Search.h"
#include"ADD.h"
#include"time.h"
#include"save.h"

BOOK *Ins;

void entry_callback1(GtkWidget *widget,gpointer entry)
{
const gchar *gettext;
gettext=gtk_entry_get_text(GTK_ENTRY(entry));
strcpy(Ins->name,gettext);
printf("%s",Ins->name); //这里输出是正常的
return ;
}
void ADDb(GtkWidget *Widget,BOOK *head)
{
GtkWidget* hbox;
GtkWidget* xbox;
GtkWidget* box1;
GtkWidget* box2;
GtkWidget* text1;
GtkWidget* dia;
GtkWidget* label;

const gchar *gett1;

Ins = (BOOK *)malloc(sizeof(BOOK));

dia=gtk_dialog_new();
gtk_window_set_title(GTK_WINDOW(dia),"www");
box1=GTK_DIALOG(dia)->vbox;
label=gtk_label_new("please entry your name:");
gtk_box_pack_start(GTK_BOX(box1),label,TRUE,TRUE,30);

text1=gtk_entry_new();
g_signal_connect(text1,"activate",G_CALLBACK(entry_callback1),text1);
gtk_box_pack_start(GTK_BOX(box1),text1,FALSE,FALSE,0);

if(Ins!=NULL)
{
printf("%s",Ins->name); //这里输出就乱码了
}
gtk_widget_show_all(dia);
return;
}

两次输出 一次是只有下面的输出 一次上下两个一起输出 请高手帮忙看看~多谢了

...全文
319 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧