c/c++调用system获取返回值

c/c++调用system获取返回值

目录

参考

在 c/c++ 程序中,可以使用 system()函数运行命令行,但是只能得到该命令行的 int 型返回值,并不能获得显示结果。例如system(“ls”)只能得到0或非0,如果要获得ls的执行结果,则要通过管道来完成的。首先用popen打开一个命令行的管道,然后通过fgets获得该管道传输的内容,也就是命令行运行的结果。

命令

root@x3sdbx3-samsung2G-3200:~# lsmod | grep hobot_hdmi_lt8618
hobot_hdmi_lt8618 20480 0 - Live 0xffffff8000af2000
iar_cdev 28672 2 hobot_hdmi_lt8618, Live 0xffffff8000a6d000
iar 208896 4 hobot_hdmi_lt8618,iar_mmap,iar_cdev,hobot_fb, Live 0xffffff8000a23000

定义函数

void executeCMD(const char *cmd, char *result)   
{   
    char buf_ps[1024];   
    char ps[1024]={0};   
    FILE *ptr;   
    strcpy(ps, cmd);   
    if((ptr=popen(ps, "r"))!=NULL)   
    {   
        while(fgets(buf_ps, 1024, ptr)!=NULL)   
        {   
           strcat(result, buf_ps);   
           if(strlen(result)>1024)   
               break;   
        }   
        pclose(ptr);   
        ptr = NULL;   
    }   
    else  
    {   
        printf("popen %s error
", ps);   
    }   
}  

调用

// 先判断是否启用了hdmi
char hdmi_result[1024];
LOG_INFO("原始长度:%d",strlen(hdmi_result));
executeCMD("lsmod | grep hobot_hdmi_lt8618", hdmi_result);
LOG_INFO("结果长度:%d, 内容:%s",strlen(hdmi_result), hdmi_result);
if(strlen(hdmi_result)>0)
{
	m_hdmi_enable = 1;
}else{
	m_hdmi_enable = 0;
	LOG_ERROR("HDMI初始化失败,未发现驱动");
	return -1;
}

Read more

LibreChat 集成 Stripe 支付的奶妈级教程

LibreChat 集成 Stripe 支付的奶妈级教程

我们假设你已经熟悉基本的 React 和 Node.js 开发,并且正在使用 LibreChat 的默认技术栈(React 前端、Node.js 后端、Vite 构建工具,可能还有 Electron 桌面应用)。教程会特别考虑 Electron 环境下的适配问题(例如 macOS 中文路径或路由错误)。“奶妈级”带你从零开始实现支付功能(包括一次性支付和添加高级会员订阅) 教程目标 * 在 LibreChat 中添加支付页面,支持用户通过信用卡付款。 * 实现 Stripe 的一次性支付功能。 * (可选)扩展到订阅功能,管理高级会员状态。 * 解决 Electron 环境下的常见问题(如路由和路径解析)。 * 生成可公开推送的 Markdown 教程,方便社区参考。 前提条件 在开始之前,请确保你已准备好以下内容:

By Ne0inhk
超棒的雅思资源!

超棒的雅思资源!

雅思真题材料地址: https://github.com/zeeklog/IETLS 感谢所有人。材料来自:@shah0150 & @kbtxwer * 超棒的雅思资源 * 雅思简介 * 听力 * 阅读 * 写作 * 口语 * 词汇 * 其他 * YouTube 频道 * [播客] (#podcasts) 雅思简介 * 什么是雅思 - 了解什么是雅思 听力 * 高级听力 * 雅思官方网站 * 考试英语 * 英国广播公司节目 * 乔治梅森大学口音学习网站 - 学习不同的口音 * 英国广播公司播客 * 英国文化协会听力练习 阅读 * 雅思提升阅读 写作 * 雅思提升写作 * 雅思从 6 分到 9 分 * 迷你雅思 口语 * Verbling 提供在线英语家教服务

By Ne0inhk