gpt4 book ai didi

c - g_print 的奇怪输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:40 24 4
gpt4 key购买 nike

编译代码时出现以下错误:file.h:在函数“add_new_set”中:file.h:7:53: 警告:格式不是字符串文字且没有格式参数 [-Wformat-security] g_print (gtk_entry_get_text ((GtkEntry *)((struct data *) callback_params)->entry));

这是我的代码:

struct data
{
GtkWidget * entry;
};
void add_new_set(GtkDialog *dialog, gint response_id, gpointer callback_params)
{
g_print (gtk_entry_get_text ((GtkEntry *)((struct data *) callback_params)->entry));
}
static struct data callback_params;
callback_params.entry = gtk_entry_new();
gtk_container_add(GTK_CONTAINER(content_area), callback_params.entry);
g_signal_connect(dialog,"response",G_CALLBACK (add_new_set),&callback_params);

现在当我按下按钮运行 g_print 部分时,如果我输入“%s test”我得到:(空)测试

现在这看起来像是可以被恶意使用的东西

关于我在这里面临的问题以及我应该做什么的任何提示?

谢谢

最佳答案

使用格式说明符:

g_print (gtk_entry_get_text ((GtkEntry *)((struct data *) callback_params)->entry));

应该是:

g_print ("%s\n", gtk_entry_get_text ((GtkEntry *)((struct data *) callback_params)->entry));

关于c - g_print 的奇怪输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089827/

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