LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 978|回复: 3

glade编程中关于输出函数的使用

[复制链接]
发表于 2006-5-7 20:00:24 | 显示全部楼层 |阅读模式
下边是我的callback.c文件。下边的程序经修改后测试运行正常。但是出现了一个问题。
#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <gtk/gtk.h>

#include <stdlib.h>
#include "stdio.h"
#include "math.h"
#include "string.h"

#include "callbacks.h"
#include "interface.h"
#include "support.h"


void
on_Cancel_clicked                      (GtkButton       *button,
                                        gpointer         user_data)
{
gtk_main_quit();
}


void
on_Ok_clicked                          (GtkButton       *button,
                                        gpointer         user_data)
{
printf("%s","hello world\n");
}

发红的代码很奇怪,如果去掉"%s"改成printf("hello world");的话就会不显示“hello world”,除非退出程序也就是执行gtk_main_quit();之后才会显示出字符串。此外,我还测试过g_printf("hello world");也出现这个问题。用g_print("hello world");就正常了,但是无法显示中文。
请问这是什么原因?如何修改呢?
我的printf("hello world");在用来写文本模式的程序的时候是正常的。。。
发表于 2006-5-7 22:58:45 | 显示全部楼层
printf 是有 buffer 机制的. 一般来说 \n 会促使它将 buffer 输出到文件流. 楼主自己改的那一句就是因为没有 \n, 所以有可能导致输出不会立刻显示在屏幕上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-8 19:38:21 | 显示全部楼层
原来如此,谢谢
回复 支持 反对

使用道具 举报

发表于 2008-10-24 16:19:44 | 显示全部楼层
我现在有glade2.12.1没有出现上面的情况
可以正常输出;
另外问个问题:
现在我有个问题,在一个按钮的回调函数中要显示或者隐藏一个存在的窗口如何获得该窗口的句柄
另外有没有学习glade的建议个参考书之类的东西麻烦给推荐一下,
谢谢、
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表