win7与VMware ubuntu虚拟机的共享文件夹在cd /mnt/hgfs下

linklist.h:

/**************************************************************************************************/
/* Copyright  (C) LS, 2014-2015                                                                   */
/* FILE NAME             :  linklist.h                                                            */
/* PRINCIPAL AUTHOR      :  ls                                                                    */
/* SUBSYSTEM NAME        :  menu                                                                  */
/* MODULE NAME           :  linklist                                                              */
/* LANGUAGE              :  C                                                                     */
/* TAGRGET ENVIRONMENT   :  ANY                                                                   */
/* DATE OF FIRST RELEASE :  2014/12/21                                                            */
/* DESCRIPTION           :  linklist for menu progrom                                             */
/**************************************************************************************************//** Revision log:* * Created by ls, 2014/12/21**//* data struct and its operations */typedef struct DataNode
{char*    cmd;char*    desc;int      (*handler)();struct   DataNode *next;
} tDataNode;/* find a cmd in the linklist and return the data node pointer */
tDataNode * FindCmd(tDataNode *head, char *cmd);
/* show all cmd in linklist */
int ShowAllCmd(tDataNode* head);

linklist.c:

/**************************************************************************************************/
/* Copyright  (C) LS, 2014-2015                                                                   */
/* FILE NAME             :  linklist.c                                                            */
/* PRINCIPAL AUTHOR      :  LISUN                                                                 */
/* SUBSYSTEM NAME        :  menu                                                                  */
/* MODULE NAME           :  linklist                                                                  */
/* LANGUAGE              :  C                                                                     */
/* TAGRGET ENVIRONMENT   :  ANY                                                                   */
/* DATE OF FIRST RELEASE :  2014/12/21                                                            */
/* DESCRIPTION           :  linklist for the  menu progrom                                                */
/**************************************************************************************************//** Revision log:* * Created by ls, 2014/12/21**/#include <stdio.h>
#include <stdlib.h>
#include "linklist.h"tDataNode* FindCmd(tDataNode* head, char* cmd)
{if (head == NULL || cmd == NULL){return NULL;}tDataNode *p = head;while (p != NULL){if (strcmp(p->cmd, cmd) == 0){return p;}p = p->next;}return NULL;
} int ShowAllCmd(tDataNode* head)
{printf("Menu List:\n");tDataNode *p = head;while (p != NULL){printf("%s - %s\n", p->cmd, p->desc);p = p->next;}return 0;}

menu.c

/**************************************************************************************************/
/* Copyright  (C) LS, 2014-2015                                                                   */
/* FILE NAME             :  menu.c                                                                */
/* PRINCIPAL AUTHOR      :  LISUN                                                                 */
/* SUBSYSTEM NAME        :  menu                                                                  */
/* MODULE NAME           :  menu                                                                  */
/* LANGUAGE              :  C                                                                     */
/* TAGRGET ENVIRONMENT   :  ANY                                                                   */
/* DATE OF FIRST RELEASE :  2014/12/21                                                            */
/* DESCRIPTION           :  This is a menu progrom                                                */
/**************************************************************************************************//** Revision log:* * Created by ls, 2014/12/21**/#include <stdio.h>
#include <stdlib.h>
#include "linklist.h"int Help();
int Quit();#define CMD_MAX_LEN 128
#define DESC_LEN    1024
#define CMD_NUM     10/*
typedef struct DataNode
{char*    cmd;char*    desc;int      (*handler)();struct   DataNode *next;
} tDataNode;tDataNode* FindCmd(tDataNode* head, char* cmd)
{if (head == NULL || cmd == NULL){return NULL;}tDataNode *p = head;while (p != NULL){if (strcmp(p->cmd, cmd) == 0){return p;}p = p->next;}return NULL;
} int ShowAllCmd(tDataNode* head)
{printf("Menu List:\n");tDataNode *p = head;while (p != NULL){printf("%s - %s\n", p->cmd, p->desc);p = p->next;}return 0;
}*/
static tDataNode head[] =
{{"help", "this is help cmd!", Help, &head[1]},{"version", "menu program v1.0", NULL, &head[2]},{"quit", "Quit from menu", Quit, NULL}
};int main ()
{/* cmd line begins */while (1){char cmd[CMD_MAX_LEN];printf("Input a cmd number > ");scanf("%s", cmd);tDataNode *p = FindCmd(head, cmd);if (p == NULL){printf("This is a wrong cmd!\n");continue;}printf("%s - %s\n", p->cmd, p->desc);if (p->handler != NULL){p->handler();}}
}int Help()
{printf("Menu List:\n");tDataNode *p = head;while (p != NULL){printf("%s - %s\n", p->cmd, p->desc);p = p->next;}return 0;
}int Quit()
{exit(0);
}

参考:

【1】 win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)http://blog.csdn.net/warringah1/article/details/8927437

内部模块化的命令行菜单相关推荐

  1. win10 增加右键在此处打开命令行菜单

    win10 增加右键"在此处打开命令行"菜单,不用每次都在CMD切换目录或者使用Shift+右键打开菜单: 最后效果是,在任意目录下点击鼠标右键出现以下效果: 方法: 新建文本文件 ...

  2. Chrome浏览器命令行菜单实现图片页面保存

    第一步:在Chrome浏览器中,首先 F12 打开 DevTools 开发者工具,然后在DevTools中使用快捷键 Ctrl + Shift + P ,就可以打开Chrome的命令行菜单: 第二步: ...

  3. Unity 内部执行cmd命令行

    概述 有些情况下我们需要在 unity 中借助命令行来执行某些特殊操作: 当然,不建议把这种方法用在其他奇怪的地方: 实现方式是使用 c#自带的 System.Diagnostics 库来实现运行 c ...

  4. android cmd 右键菜单不见了,为Windows右键菜单提供打开命令行选项

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. :: 更新说明 :: :: 版本:V1.0 :: 日期:2012-07-31 :: 说明: ...

  5. 怎么样关闭计算机管理员,电脑怎么样使用命令行程序启用和关闭管理员账户 - 今日爆点...

    电脑为什么不能管理员身份运行命令行程序,我们应该怎么样才可以使用管理员身份运行命令行程序.在Windows桌面中按下Windows徽标键+X键,打开超级菜单,选择"以管理员身份运行命令行菜单 ...

  6. 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令

    简介 在做Python开发时,安装需要的第三方库时,大多数人喜欢选择在命令行用pip进行安装. 然而有时敲入pip命令会提示'pip'不是内部或外部命令..如图: 解决办法 1.在python安装目录 ...

  7. 图解修改Windows启动菜单命令行工具BCDEdit

    一 BCDEdit命令操作实例 二 BCDEdit命令介绍 Bcdedit简介 在NT60系列操作系统(Windows 7/Vista/2008)中的一个命令行工具,用于建立和重新配置bootload ...

  8. FPGA篇(十一)modelsim命令行仿真提示“vsim 不是内部或外部命令,也不是可运行的程序或批处理文件”的解决办法 (转)

    安装完modelsim后,用过命令行模式仿真,如"vsim -c -do run.do",开始时是可以的. 后来偶然再用该仿真方式,发现命令行提示"vsim 不是内部或外 ...

  9. MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题

    文章目录 问题1:root用户密码忘记,重置的操作 问题2:mysql命令报"不是内部或外部命令" 问题3:错误ERROR :没有选择数据库就操作表格和数据 问题4:命令行客户端的 ...

最新文章

  1. 谷粒商城学习笔记——第一期:项目简介
  2. 关于批量修改AD域用户的脚本
  3. 中国AI科研产出全球第一 但引文影响力低
  4. 开发vs测试 | 每日趣闻
  5. 基于python的打印进度条、计算用时
  6. linux git文件图标,分享|三款 Linux 下的 Git 图形客户端
  7. Educational Codeforces Round 112 E.Boring Segments-线段树+双指针
  8. CentOS7编译安装ntp
  9. 【C++快速入门】面向对象篇
  10. impala 使用记录
  11. pytorch--nn模块(1)
  12. Sigmoid函数求导过程
  13. 骰子游戏实验报告C语言,掷骰子游戏电路的设计与实现实验报告
  14. 上海通用北盛汽车2012届校园招聘长春理工大学专业面试安排 共 27 人
  15. C++游戏开发入门项目精选:制作经典游戏拳皇97
  16. C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)
  17. 【DNS区域传输测试/子域暴力破解/横幅版本检测/生成映射】
  18. 解决docker删除镜像时image is referenced in multiple repositories
  19. 简单的方法爬取b站dnf视频封面步骤解释
  20. 计算机网络无线局域网设计,《计算机网络》网络课程“无线局域网”单元的设计与开发...

热门文章

  1. Key Fact as Pivot: A Two-Stage Model for Low Resource Table-to-Text Generation 论文翻译
  2. 淘宝天猫婴儿产品销量数据分析报告
  3. [转]linux grep命令的使用
  4. occt 几何图形库入门01
  5. 【MATLAB笔记】基本矩阵操作函数
  6. Lua ipairs、pairs
  7. 心灵鸡汤:谦虚、不沉默、有危机感、不断努力
  8. Blender 裙子和大腿穿模的问题
  9. yu bie diu
  10. Authority-check基础知识