当前位置: 首页 > news >正文

网站 推广商系统 设计南阳网站建站公司

网站 推广商系统 设计,南阳网站建站公司,电商怎么做运营,网站推广品牌建设C语言之简单的获取命令行参数和环境变量 本人的开发环境为WIN10操作系统用VMWARE虚拟的UBUNTU LINUX 18.04LTS#xff01;#xff01;#xff01; 所有代码的编辑、编译、运行都在虚拟机上操作#xff0c;初学的朋友要注意这一点#xff01;#xff01;#xff01; 详细…C语言之简单的获取命令行参数和环境变量 本人的开发环境为WIN10操作系统用VMWARE虚拟的UBUNTU LINUX 18.04LTS 所有代码的编辑、编译、运行都在虚拟机上操作初学的朋友要注意这一点 详细情况如下 songvmubuntu:~/works/xdn/boo$ uname -a Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux命令行参数 常见C语言main函数带有两个参数整型的argc和字符串指针型的argv。这两个参数就是命令行参数相关的参数整型 argc 保存命令行参数的数量字符串指针 argv 保存命令行参数的值命令行参数要用空格隔开测试代码如下 /* filename: opt.c */ #include stdio.h/**/ int main (int argc, char *argv[]) {printf (Argument count : %d\n, argc);printf (Command is [%s]\n, argv[0]);return 0; }编译运行输出结果如下 songvmubuntu:~/works/xdn/boo$ gcc opt.c -o opt songvmubuntu:~/works/xdn/boo$ ./opt Argument count : 1 Command is [./opt] songvmubuntu:~/works/xdn/boo$ 带参数测试 上面的结果可见参数总量为1字符串数组引用索引为0即argv[0]也就是命令本身加上两个参数测试代码如下 /* filename: opt.c */ #include stdio.h/**/ int main (int argc, char *argv[]) {printf (Argument count : %d\n, argc);printf (Command is [%s]\n, argv[0]);for (int i 0; i argc; i)printf (Argument %d is [%s]\n, i, argv[i]);return 0; }编译运行输出结果如下 songvmubuntu:~/works/xdn/boo$ ./opt -s zoo.t Argument count : 3 Command is [./opt] Argument 0 is [./opt] Argument 1 is [-s] Argument 2 is [zoo.t] songvmubuntu:~/works/xdn/boo$ 提示加命令行参数 事实上你可以加任意命令行参数然后通过循环输出如果没有参数需要要提示用加上参数测试代码如下 /* filename: opt.c */ #include stdio.h/**/ int main (int argc, char *argv[]) {printf (Argument count : %d\n, argc);printf (Command is [%s]\n, argv[0]);for (int i 0; i argc; i)printf (Argument %d is [%s]\n, i, argv[i]);if (argc 1)printf (Please add some arguments!\n);return 0; }编译运行输出提示信息 songvmubuntu:~/works/xdn/boo$ gcc opt.c -o opt songvmubuntu:~/works/xdn/boo$ ./opt Argument count : 1 Command is [./opt] Argument 0 is [./opt] Please add some arguments! songvmubuntu:~/works/xdn/boo$ 事实上main函数还有第三个参数envp 字符串指针envp保存系统的环境变量先读出一个环境变量看看什么情况代码如下 /* filename: opt.c */ #include stdio.h/**/ int main (int argc, char *argv[], char *envp[]) {printf (Environment Variables\n);printf (%s\n, envp[0]);return 0; }编译运行输出如下 songvmubuntu:~/works/xdn/boo$ gcc opt.c -o opt songvmubuntu:~/works/xdn/boo$ ./opt Environment Variables CLUTTER_IM_MODULExim songvmubuntu:~/works/xdn/boo$ 输出所有环境变量 不同编译运行环境可能输出的结果不同显示的是CLUTTER_IM_MODULExim环境变量名CLUTTER_IM_MODULE输入法模块IM - input method环境变量值xim Linux下的输入法工具包含拼音和五笔等可能是安装系统时最后安装设置的输入法所以首先显示的是这一个环境变量试一试输出所有环境变量代码如下 /* filename: opt.c */ #include stdio.h/**/ int main (int argc, char *argv[], char *envp[]) {printf (Environment Variables\n);printf (%s\n, envp[0]);int i 0;while (envp[i] ! NULL){printf (%s\n, envp[i]);i;}return 0; }编译运行输出如下 songvmubuntu:~/works/xdn/boo$ gcc opt.c -o opt songvmubuntu:~/works/xdn/boo$ ./opt Environment Variables CLUTTER_IM_MODULExim CLUTTER_IM_MODULExim LS_COLORS LC_MEASUREMENTzh_CN.UTF-8 LESSCLOSE/usr/bin/lesspipe %s %s LC_PAPERzh_CN.UTF-8 LC_MONETARYzh_CN.UTF-8 XDG_MENU_PREFIXgnome- LANGzh_CN.UTF-8 DISPLAY:0 OLDPWD/home/songvm/works/xdn GNOME_SHELL_SESSION_MODEubuntu USERNAMEsongvm INSIDE_EMACS25.2.2,comint XDG_VTNR2 GIO_LAUNCHED_DESKTOP_FILE_PID6401 SSH_AUTH_SOCK/run/user/1000/keyring/ssh LC_NAMEzh_CN.UTF-8 XDG_SESSION_ID2 USERsongvm DESKTOP_SESSIONubuntu QT4_IM_MODULExim TEXTDOMAINDIR/usr/share/locale/ PWD/home/songvm/works/xdn/boo HOME/home/songvm TEXTDOMAINim-config SSH_AGENT_PID1535 QT_ACCESSIBILITY1 XDG_SESSION_TYPEx11 XDG_DATA_DIRS/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop XDG_SESSION_DESKTOPubuntu LC_ADDRESSzh_CN.UTF-8 GJS_DEBUG_OUTPUTstderr LC_NUMERICzh_CN.UTF-8 GTK_MODULESgail:atk-bridge COLUMNS80 PAPERSIZEa4 WINDOWPATH2 SHELL/bin/bash TERMdumb QT_IM_MODULExim XMODIFIERSimibus IM_CONFIG_PHASE2 XDG_CURRENT_DESKTOPubuntu:GNOME GPG_AGENT_INFO/run/user/1000/gnupg/S.gpg-agent:0:1 GIO_LAUNCHED_DESKTOP_FILE/usr/share/applications/emacs25.desktop XDG_SEATseat0 SHLVL1 LANGUAGEzh_CN:en LC_TELEPHONEzh_CN.UTF-8 GDMSESSIONubuntu GNOME_DESKTOP_SESSION_IDthis-is-deprecated LOGNAMEsongvm DBUS_SESSION_BUS_ADDRESSunix:path/run/user/1000/bus XDG_RUNTIME_DIR/run/user/1000 XAUTHORITY/run/user/1000/gdm/Xauthority XDG_CONFIG_DIRS/etc/xdg/xdg-ubuntu:/etc/xdg PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LC_IDENTIFICATIONzh_CN.UTF-8 GJS_DEBUG_TOPICSJS ERROR;JS LOG TERMCAP SESSION_MANAGERlocal/ubuntu:/tmp/.ICE-unix/1458,unix/ubuntu:/tmp/.ICE-unix/1458 LESSOPEN| /usr/bin/lesspipe %s GTK_IM_MODULEibus LC_TIMEzh_CN.UTF-8 _./opt songvmubuntu:~/works/xdn/boo$ 获取某一环境变量的值 以上输出内容挺多在这N个环境变量中如何取单独的某一个环境变量呢如常用的PATHgetenv函数在stdlib.h头文件中定义测试代码如下 /* filename: opt.c */ #include stdio.h #include stdlib.h/**/ int main (int argc, char *argv[], char *envp[]) {printf (Get environ variable PATH : [%s]\n, getenv(PATH));return 0; }编译运行达到预期输出结果如下 songvmubuntu:~/works/xdn/boo$ ./opt Get environ variable PATH : [/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin] songvmubuntu:~/works/xdn/boo$ 测试一下内存分配情况发现分配和释放了一次内存无疑是getenv函数所为 songvmubuntu:~/works/xdn/boo$ valgrind --leak-checkyes ./opt 6975 Memcheck, a memory error detector 6975 Copyright (C) 2002-2017, and GNU GPLd, by Julian Seward et al. 6975 Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info 6975 Command: ./opt 6975 Get environ variable PATH : [/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin] 6975 6975 HEAP SUMMARY: 6975 in use at exit: 0 bytes in 0 blocks 6975 total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated 6975 6975 All heap blocks were freed -- no leaks are possible 6975 6975 For counts of detected and suppressed errors, rerun with: -v 6975 ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) songvmubuntu:~/works/xdn/boo$ 命令行参数的解析相对复杂一些以后再发博文讲解
http://www.hkea.cn/news/14392980/

相关文章:

  • 跨境电商网站搭建建一个网站一般要多少钱
  • 汕头网站建设托管ss和wordpress
  • 怎么做提高网站排名大型的平台类网站建设需要多少资金
  • 营销型网站制作公司wordpress建的网站如何跟微信集成
  • 长春网站营销wordpress国内访问不了
  • 网站建设昆山花桥东丽区 网站建设
  • asp化妆品网站源码适配网站建设模版
  • 学校网站的建设费用吗wordpress删除不了插件
  • 陕西省住房和城乡建设厅网站上查询百度seo算法
  • 建网站能赚钱吗赚多少知乎网页版
  • 深圳网站建设电话网站建设合同概念
  • 网站怎么在百度搜到为什么不自己做购物网站
  • 自己设计logo网站北京金港建设股份有限公司网站
  • 微网站成功案例网站内容方向
  • 南宁网站推广v1微信app下载安装官方免费下载
  • 好的网站推荐销售型网站设计
  • 江西网站icp备案注销微信接口文档
  • 光做网站推广咋样宿州北京网站建设
  • 做企业网站的公司有哪些营销网站的例子
  • 首钢建设一公司网站织梦网站识别
  • 网站建设与管理实训seo基础篇
  • 黑龙江牡安建设有限公司网站天津微外卖网站建设
  • 济宁500元做网站建设网站专家
  • 地方网站程序saas建站源码下载
  • 免费建站团队河北城乡建设厅网站
  • 为歌手做的个人网站wordpress全静态化
  • jsp体育用品网站建设wordpress pc
  • 知名网站建设公司电话房屋模拟装修软件
  • 杂谈发现一只网站是你们谁做的网页素材网站有哪些
  • 靓号网建站渝北网站建设公司