1

我需要实现
的目标 我在磁盘(特定文件)上有大量(大约 100 万条)记录(每条记录 500 字节),格式如下

===========================================================
|X|a,b,c|O|m,n,g|X|t,a,c|X|e,p,q|O|u,q,p|X|r,t,s|O|l,m,a|
===========================================================  

第一个字段由标志('X')组成,表示有效填充数据,标志('O')由结构化数据组成。例如,第一个集合包含一个有效数据,其中 a,b,c 作为其数据(假设结构)。

我需要在屏幕(linux)上显示它们,更像是top命令输出(就简单而言 - 意味着键盘输入驱动、动态 GUI - 如刷新、向下翻页选项等),如 -

Display Record From No XXX                    

Records Number                                Field 1                         Field 2                           Field 3
1                                                a                                b                                c
2                                                NA                               NA                               NA
3                                                t                                a                                c
4                                                o                                p                                q
5                                                NA                               NA                               NA
6                                                r                                t                                s
7                                                NA                               NA                               NA

F5 [Referesh]                Page-Down [Next Page]                Page-Up [Prev Page]                Ctrl+C [Exit]  

值 XXX 将由用户输入并显示一页记录。

问题

一种。由于显示类似于 top/atop 命令的显示,您能否告诉我这些命令显示输出的基础?

湾。任何更适合此类操作的特定语言(如 GTK、QT 等)?除了 top/atop 命令中使用的语言之外,基本上任何更好的语言。(可能这个问题是主观的)但想收集最佳意见?

C。现在,如果我想对结构进行模板化(通过在配置文件中提供)以便可以读取和显示不同类型的结构,那么这可能是哪种语言最好?注意:我的意思是,文件 1 仅包含结构 A 数据。文件 2 包含结构 B 数据。所以在读取文件2时,我想加载结构B的结构配置并运行该工具进行显示。

PS:
上述文件实际上是使用普通 C 应用程序写入文件的(暗示结构及其字段将是 C 基本数据类型属性)。

4

1 回答 1

1

一种。有很多实现top。他们中的一些人使用curses\ncurses图书馆。

湾。如果没有理由让你的程序从控制台运行(文本模式),那么当然,图形模式,上面提到的 GUI 工具包运行,似乎更适合你的需要。这些工具包不是编程语言,而是用特定语言编写的库(尽管有时带有自己的扩展)。

在这种情况下,我不鼓励 Qt,因为它的Model/View实现很糟糕(这尤其是您需要的)。对于 GTK,有Gnome-DB项目。如果我是你,我会看看大博

C。我不确定你所说的配置文件是什么意思,如果你是指一些插件系统或解释器,但我认为使用 Python、Ruby、PHP 等可解释语言会更直接。但是,因为你的文件是巨大的,我不确定它们是否会在没有一些调整的情况下持续存在。处理此类文件本身就是一个挑战。

还有一个选项可以将文件导出到数据库并使用一些数据库操作软件。

如果你有统计数据,那么你可以看看R和 GUI 前端,比如 RKWard。

于 2013-01-23T14:14:02.993 回答