免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2412 | 回复: 0
打印 上一主题 下一主题

毕设中的问题请各位高人指点 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-27 23:41 |只看该作者 |倒序浏览
想做一个类似资源管理器的东西,当然功能不会像我们平常使用的这么丰富呵呵。刚开始就遇到一个问题,想请教各位高手
我的代码如下:
#include <sys/types.h>
#include <dirent.h>

#include <unistd.h>
#include <sys/stat.h>

#include <gtk/gtk.h>

#include <stdio.h>

void closeApp(GtkWidget *window, gpointer data)
{
    gtk_main_quit();
}

int main(int argc, char *argv[])
{
    DIR *dp;
    struct dirent *entry;
    struct stat statbuf;

    GtkWidget *window;
    GtkTreeStore *store;
    GtkWidget *view;
    GtkTreeIter parent_iter, child_iter;
    GtkCellRenderer *renderer;

    gtk_init(&argc, &argv);
   
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
    gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
   
    g_signal_connect(GTK_OBJECT(window), "destroy",
             GTK_SIGNAL_FUNC(closeApp), NULL);
   
    store = gtk_tree_store_new(1, G_TYPE_STRING);

    gtk_tree_store_append(store, &parent_iter, NULL);

    gtk_tree_store_set(store, &parent_iter, 0, "/", -1);

    if((dp = opendir("/")) == NULL)
    {
        fprintf(stderr, "Cannot open directory: /\n");
        return 1;
    }      

    while((entry = readdir(dp)) != NULL)
    {
        lstat(entry->d_name, &statbuf);
        if(S_ISDIR(statbuf.st_mode))
        {
            if(strcmp(".", entry->d_name) == 0 || strcmp("..", entry->d_name) == 0)
                continue;
            gtk_tree_store_append(store, &child_iter, &parent_iter);
           
            gtk_tree_store_set(store, &child_iter, 0, entry->d_name, -1);
        }
    }

   
    view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));

    renderer = gtk_cell_renderer_text_new();

    gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view), 0, "Tree",
                            renderer, "text", 0, NULL);

    gtk_container_add(GTK_CONTAINER(window), view);

    gtk_widget_show_all(window);
    gtk_main();

    return 0;
}
但是奇怪的问题发生了,自己不知道是怎么回事。
此时我在的目录为
/home/aprilava/graduation_project/
$./manager

郁闷第一次需要贴图,没找到贴图的方法

在这而执行的时候,不仅仅是目录,连根目录下的文件都显示出来了。

无意中切换到根目录/下
.//home/aprilava/graduation_prodect/manager
只显示目录了!

不知道是怎样一会儿事,请各位高手指点下小弟

[ 本帖最后由 doublelittlexgp 于 2009-5-27 23:57 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP