C语言 常用工具型API --------system()

这篇具有很好参考价值的文章主要介绍了C语言 常用工具型API --------system()。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

函数名: system()

用 法: int system(char *command);

原理:

        创建一个子进程去加载一个新程序执行,而Linux命令基本都是一个单独的进程实现的,所以你所掌握的Linux命令越多,该函数功能就越强大。

其原理基本就是这样,如果想要深入了解可以去了解一下相关的函数。

(执行shell 命令)

相关函数

fork,execve,waitpid,popen  

头文件

#include<stdlib.h>



 #include <stdio.h>
 #include <stdlib.h>
 int main(void)
 {
     system("ls -l");
     return 0;
 }

一下是一段通过system操控mplayer播放器的代码,有兴趣的可以自行解读一下。文章来源地址https://www.toymoban.com/news/detail-654907.html

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

void *play_task(void *arg)
{
    FILE *fp = popen("mplayer -slave -quiet -input file=/home/gec/pipe -geometry  100:100  -zoom -x 800 -y 480  dream.avi", "r");
    if (fp == NULL)
    {
        perror("加载播放器失败\n");
        return NULL;
    }

    while (1)
    {
        // 读播放器返回的数据
        char buf[1024] = {0};
        fgets(buf, 1024, fp);
        if (feof(fp))
        {
            printf("播放完毕\n");
            break;
        }

        printf("play_msg=%s\n", buf);
    }

    pclose(fp);
};

int main()
{

    while (1)
    {
        printf("1.开始播放  2.快进 3.快退  4.获取时间 5.退出播放\n");
        int n = 0;
        scanf("%d", &n);

        if (n == 1)
        {
            // 结束播放
            system("killall  mplayer");

            // 开启播放器线程
            pthread_t tid;
            pthread_create(&tid, NULL, play_task, NULL);
        }

        if (n == 2)
        {
            system("echo seek +10 > /home/gec/pipe");
        }

        if (n == 3)
        {
            system("echo seek -10 > /home/gec/pipe");
        }

        if (n == 4)
        {
            system("echo get_time_pos > /home/gec/pipe");
        }

        if (n == 5)
        {
            system("killall  mplayer");
            break;
        }
    }
}

到了这里,关于C语言 常用工具型API --------system()的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 后端开发常用工具及其官网

    ​JAVA 开发工具:     工具:Eclipse     官网:https://www.eclipse.org/     工具:JetBrains IntellIDEA     官网:https://www.jetbrains.com/idea/  JAVA 反编译查看工具:      工具:jd-gui     官网:http://java-decompiler.github.io/  jar包打开工具:       工具:7-zip      官网:7-Z

    2024年02月11日
    浏览(56)
  • JAVA开发常用测试工具

    什么是junit JUnit 是一个用于编写和运行单元测试的开源框架,是Java 开发中最常用的单元测试框架之一。它为 Java 开发者提供了一种简单、灵活且可扩展的方式来编写自动化测试代码,并帮助开发者进行单元测试的管理和执行。 JUnit 提供了一组注解和断言方法,使开发者能够

    2024年04月25日
    浏览(53)
  • 前端开发常用哪些工具软件?

    前端开发必备工具,一篇文章一网打尽 文章目录            一、前端提高“生产力”工具 1.WebStorm 2. 远程开发 - VSCode 3. 接口测试 - Postman 4.API在线文档生成和测试 - SwaggerUI 5.抓包工具 - Wireshark 6.通用数据库管理 - DBeaver 7.MD编辑器 - Typora 8.虚拟机 - VirtualBox 9.Git存储库托管 -

    2023年04月08日
    浏览(42)
  • C语言再学习 -- Linux常用网络调试工具

    参看:Linux常用网络调试工具 linux常用指令,之前我也总结了不少了。 参看:C语言再学习 – Linux 中常用基本命令 参看:Hi3516A开发–环境搭建工具 下面看看网络调试相关的工具: ifconfig 命令用于检查或设置机器上的网卡。 ping 命令是最常用的命令之一,用于检查两个设备之

    2024年01月21日
    浏览(44)
  • 项目开发常用配置-自用工具类

     

    2024年02月11日
    浏览(54)
  • java开发常用的工具以及配置类

    今天接着上一篇博文,聊 java开发常用的工具以及配置类。 13 日期操作相关的java类。 比如在开发预约旅游 预约体检 预约售票等相关和日期相关的业务,需要获取日期以及判断是一周的哪一天等。 14 处理请求路径的URL工具类 比如,有时需要根据传入的路径url获取请求参数或

    2024年02月08日
    浏览(50)
  • 常用的几款敏捷开发工具

    1、Leangoo领歌 Leangoo领歌国内知名敏捷开发工具,它覆盖了敏捷项目研发全流程,包括小型团队敏捷开发,规模化敏捷SAFe,Scrum of Scrums大规模敏捷。其主要功能/解决问题的价值包括:1)能够支持多种场景,如:敏捷研发管理、敏捷项目管理、工作流管理、轻量级项目群管理、

    2024年02月05日
    浏览(46)
  • Linux 常用开发工具(yum、vim)

    耐心是一切聪明才智的基础。—— 柏拉图。本章进入到Linux下的一些常用的工具,这些工具能帮助我们去更好的使用Linux操作系统。 话不多说安全带系好,发车啦 (建议电脑观看) 。 附:红色,部分为重点部分;蓝颜色为需要记忆的部分(不是死记硬背哈,多敲);黑色加

    2024年02月07日
    浏览(47)
  • NICEGUI---ROS开发之中常用的GUI工具

    对于ROS来说,如果不具备一定知识的人员来使用这些我们写的算法,如果说没有交互,这会让用户使用困难,所以我们需要使用GUI来完成友善的数据交互,传统的GUI方法一般有PYQT这类GUI方法,但是这类GUI工具上手门槛较高,也不太适合快速且敏捷的可视化界面开发。NiceGUI 是

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包