所以,继续这笔交易,我正在使用GTK。
我要求set_entry_text
上的姓名。因此,用户输入他的名字,我将该变量保存为char。
char *jugador1, *jugador2 ///they're in a structure
void obten_nombre (GtkWidget *widget, gpointer info)
{
WIDGETS *elementos = (WIDGETS *)info;
gchar *j1, *j2;
j1=malloc(50 *sizeof(gchar));
j2=malloc(50 *sizeof(gchar));
strcpy(j1,gtk_entry_get_text(GTK_ENTRY( elementos->entry_j1)));
strcpy(j2,gtk_entry_get_text(GTK_ENTRY( elementos->entry_j2)));
strcpy(elementos->jugador1, j1);
elementos->jj1=j1;
// strcpy(elementos->jugador2, j2);
g_print("Jugador1: %s\n", elementos->jugador1);
gtk_widget_hide_all(elementos->ventana_popup2);
gtk_widget_show_all(elementos->ventana_principe);
}
我正在elementos->jugador1
char
变量。
我正在演员:
gchar auxjugador1;
我该如何制作
auxjugador1 = elementos->jugador1
所以我可以做一个
gtk_entry_set_text(GTK_ENTRY(elementos->nombre_jugador1),auxjugador1);
谢谢你们!
答案 0 :(得分:0)
jugador1
不是char
变量。它是char *
(指针)。
您无法将指针放入gchar
。
您可以创建另一个指针,并将其指向现有数据,或者声明一个足够大的数组来保存副本,然后使用strcpy
。