zoukankan      html  css  js  c++  java
  • Linux测试程序交互实现

    void sig_handler(int signo) 
    {
        std::cout << "oops! stop!!!" << std::endl;
        _exit(0);
    }
    
    int main(int argc, char **argv)
    {
    
        PadSim pad_sim ;
        pad_sim.init(node);
    
        signal( SIGINT, sig_handler); /*注册ctrl+c 退出函数*/
        int value = system("stty erase ^H");/* 退格键不回显 */
    
        char cmd[256];
        std::cout <<"***************************************************************" << std::endl;
        std::cout <<"The command list:" << std::endl;
        std::cout << std::left << std::setw(20) << "h"
                            << " This help text
    "
    
                            << std::setw(20) << "auto"
                            << " Start: switch control mode to auto 
    "
                            << std::setw(20) << "manual"
                            << " Stop:  switch control mode to manual
    "
    
                            << std::setw(20) << "start"
                            << " Start: switch task mode start 
    "
                            << std::setw(20) << "stop"
                            << " Stop:  switch task mode to stop
    "
                            << std::setw(20) << "pause"
                            << " Pause: switch task mode to pause
    "
                            << std::setw(20) << "continue"
                            << " Pause: switch task mode to continue
    "
                            << std::setw(20) << "shutdown"
                            << " Shut down the program
    "
                            << std::flush;
        std::cout <<"***************************************************************" << std::endl;
        std::cout << "> ";
        while (std::cin.getline(cmd, sizeof(cmd))) 
        {
            std::string strCmd(cmd);
            if (strCmd == "shutdown") 
            {
                break;
            } 
            else if (strCmd == "h")
            {
                std::cout << std::left << std::setw(20) << "h"
                            << " This help text
    "
    
                            << std::setw(20) << "auto"
                            << " Start: switch control mode to auto 
    "
                            << std::setw(20) << "manual"
                            << " Stop:  switch control mode to manual
    "
    
                            << std::setw(20) << "start"
                            << " Start: switch task mode to start 
    "
                            << std::setw(20) << "stop"
                            << " Stop:  switch task mode to stop
    "
                            << std::setw(20) << "pause"
                            << " Pause: switch task mode to pause
    "
                            << std::setw(20) << "continue"
                            << " Pause: switch task mode to continue
    "
                            << std::setw(20) << "shutdown"
                            << " Shut down the program
    "
                            << std::flush;
            } 
            else if (strCmd == "auto") 
            {
                pad_sim.pad_send_message(1008);
            } 
            else if (strCmd == "manual") 
            {
                pad_sim.pad_send_message(1009);
            } 
            else if (strCmd == "start") 
            {
                pad_sim.pad_send_message(1007);
            } 
            else if (strCmd == "stop") 
            {
                pad_sim.pad_send_message(1006);
            } 
            else if (strCmd == "pause") 
            {
                pad_sim.pad_send_message(1004);
            } 
            else if (strCmd == "continue") 
            {
                pad_sim.pad_send_message(1005);
            } 
            else 
            {
                std::cerr << "Error: unknown commamd" << std::endl;
            }           
            std::cout << "> ";
        }
        std::cout << "exit " << std::endl;
        return 0;
    }
    

      

  • 相关阅读:
    毫秒时间格式转换
    Gulp前端服务器本地搭建
    前端构建工具Gulp的学习和使用
    Grunt入门学习之(3) -- Gruntfile具体示例
    Grunt入门学习之(2) -- Gruntfile的编写
    Grunt入门学习之(1) -- 环境安装
    toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别
    zTree 学习笔记之(一)
    C语言 在VS环境下一个很有意思的报错:stack around the variable was corrupted
    C#.Net 调用方法,给参数赋值的一种技巧
  • 原文地址:https://www.cnblogs.com/sshbit/p/13225656.html
Copyright © 2011-2022 走看看