首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ncurses窗口中df命令的ncurses和c显示输出

ncurses窗口中df命令的ncurses和c显示输出
EN

Stack Overflow用户
提问于 2016-07-08 20:35:02
回答 1查看 541关注 0票数 2

我对ncurses比较陌生,只是想知道如何简单地显示我正在启动的ncurses中终端/命令行中执行的命令的输出。例如,类似于这个psuedocode (我知道它不起作用,只是为了解决问题:),其目标是显示一个菜单屏幕,显示各种系统信息,如可用内存、网络信息等:

代码语言:javascript
复制
#include <ncurses.h>
#include <stdlib.h>
#include <stdio.h>


int main(){

initscr();
cbreak();
char command[] = "df";
printw(system(command));
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-08 20:42:27

您可以通过向命令打开管道(顺便说一句,示例应该使用"df" )来做到这一点。就像这样:

代码语言:javascript
复制
#include <ncurses.h>
#include <stdlib.h>
#include <stdio.h>

int
main(void)
{
    FILE *pp;

    initscr();
    cbreak();
    if ((pp = popen("df", "r")) != 0) {
        char buffer[BUFSIZ];
        while (fgets(buffer, sizeof(buffer), pp) != 0) {
            addstr(buffer);
        }
        pclose(pp);
    }
    getch();
    return EXIT_SUCCESS;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38274985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档