将字符转换为gchar

将字符转换为gchar,c,gtk,char,C,Gtk,Char,所以,这里的交易,我在这一个使用GTK 我在一个集合项\u文本中询问姓名。因此,用户输入他的名字,我将该变量保存为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 *size

所以,这里的交易,我在这一个使用GTK

我在一个
集合项\u文本中询问姓名。因此,用户输入他的名字,我将该变量保存为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
a
char
变量

我正在做一个演员:

gchar auxjugador1;
我该怎么做

auxjugador1 = elementos->jugador1
所以我可以做一个

gtk_entry_set_text(GTK_ENTRY(elementos->nombre_jugador1),auxjugador1);

谢谢你们

jugador1
不是
char
变量。它是一个
字符*
(指针)

您不能将指针放入
gchar


您可以创建另一个指针,并将其指向现有数据,或者声明一个足够大的数组以容纳副本,然后使用
strcpy

是的,我尝试过使用strcpy(auxjugador1,jjj1)两者都是gchar。。。我做得对吗?@drodri420:要使用strcpy,你需要制作一个足够大的数组来容纳字符串。如
gchar auxjugador[1000]