gpt4 book ai didi

c - 我收到错误 "warning: initialization makes pointer from integer without a cast [enabled by default]"

转载 作者:行者123 更新时间:2023-11-30 17:41:21 25 4
gpt4 key购买 nike

我收到错误,因为对于 gtk_entry 它需要 char 类型作为输入,但我想给它 int 类型,所以首先我声明 int 类型,然后将此 int 类型声明为 char 类型并赋予 gtk_entry 但我收到错误。

#include<gtk/gtk.h>


void static call(GtkWidget *widget,gpointer data)
{
g_print("\n%s\n",gtk_entry_get_text(GTK_ENTRY(data)));
gint answ=4;
const char* ans=answ; //here is the line having error
gtk_entry_set_text(GTK_ENTRY(data),ans);
gtk_editable_select_region(GTK_EDITABLE(data),0,-1);

}

int main(int agrc, char *agrv[])

{
gtk_init(&agrc,&agrv);
GtkWidget *entry,*window,*button,*hbox;

window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window,"delete-event",G_CALLBACK(gtk_main_quit),NULL);

hbox=gtk_hbox_new(0,0);
gtk_container_add(GTK_CONTAINER(window),hbox);
button=gtk_button_new_with_mnemonic("write text");
entry=gtk_entry_new();
g_signal_connect(button,"clicked",G_CALLBACK(call),entry);
g_signal_connect(entry,"activate",G_CALLBACK(call),entry);



gtk_box_pack_start(GTK_BOX(hbox),button,0,0,0);

gtk_box_pack_start(GTK_BOX(hbox),entry,0,0,0);

gtk_widget_show_all(window);
gtk_main();
return 0;

}

最佳答案

当您想要将整数转换为 char 以便可以将此类整数作为参数传递时,您将执行以下操作:

#include <stdio.h>

int main(void)
{
char c[4];
int i=5;
sprintf(c, "%d", i);
printf("%s %d", c, i);
return 0;
}

您使用 sprintf 将整数打印到 char 变量中,然后使用它。有一个函数 itoa 不是标准的,但也可以帮助您。

itoa 的用法如下:

itoa(c, i, 10);

编辑:

我认为有效的你的代码是:

gint x=4; 
char y[4];
sprintf(y, "%d", x);
gtk_entry_set_text(GTK_ENTRY(data),y);

关于c - 我收到错误 "warning: initialization makes pointer from integer without a cast [enabled by default]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com