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

做网站的时候表格怎么去掉专门开发小程序的公司

做网站的时候表格怎么去掉,专门开发小程序的公司,html网页设计代码简单例子,加强政府网站信息内容建设的意见目录 前言 一、打印提示信息 二、分割字符串 三、替换程序 前言 之前学习了很多进程相关的知识,包括环境变量、进程的创建与退出、进程等待、进程替换。现在可以用所学的作一个小总结,手撕一个shell解释器,大致的思路是先通过环境变量获…

目录

前言

一、打印提示信息

二、分割字符串

三、替换程序


前言

之前学习了很多进程相关的知识,包括环境变量、进程的创建与退出、进程等待、进程替换。现在可以用所学的作一个小总结,手撕一个shell解释器,大致的思路是先通过环境变量获取相关信息,再通过fork创建子进程并进行程序替换,bash的命令。

一、打印提示信息

当我们链接上虚拟机,就会有这一行输出到屏幕上,告诉我们可以开始输入命令了。首先我们得把提示写出来。

环境变量中有用户名、主机号、当前目录等信息,我们可以通过 getenv 获取相关信息进行打印。

同时,我们输入命令会有很多空格存在,比如 ls -a -l。因此不能用scanf获取输入信息,可以用fgets,第三个参数为stdin(标准输入)。最后输入完毕后会输入回车换行,我们将最后一个字符设置为  '\0'  代表字符串的结束,同时也避免了换行。

#inlcude<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#define NUM 1024char* getUsername()
{char* env = getenv("USER");if(env) return env;return NULL;
}char* getHostname()
{char* env = getenv("HOSTNAME");if(env) return env;return NULL;
}char* getPwd()
{char* env = getenv("PWD");if(env) return env;                                            return NULL;
}int main()
{char command[NUM];printf("[%s@%s %s]$ ",getUsername(),getHostname(),getPwd());//打印fgets(command,NUM,stdin);  //输入完成后还会输入回车,导致换行command[strlen(command)-1] = '\0'; printf("%s",command);  // 打印看看是否获取到了完整的字符串
}

运行结果如下,获取了完整了字符串。

二、分割字符串

分割字符串C语言可以用strtok函数,他第一个参数为需要分割的字符串,第二个参数是按什么字符进行分割。如果想继续往后分割同一字符传,后续需要将第一个参数设置为NULL。

分割成功返回值为分割出来的字符串,如果分割失败,返回0。

我们先分割一次字符串,放到数组argv里,后面使用while循环一直进行分割,由于分割失败返回0,自然而然就退出了。下面是打印代码,看看结果是否正确。

成功分割。

三、替换程序

fork出子进程,然后使用execvp进行程序替换,第一个参数为argv[0],比如你输入ls -a -l,他会自己去path路径里面查找 ls 是否存在,第二个参数为agrv,整个数组放进去,是命令行参数。这里写简单一点,没有处理等待失败的情况。

成功进行替换。 

最后给他套上循环,一个建议的shell就做好了。我们写的比较简单,有很多bug,功能还不算完善,但是勉强也算够用。

附上总代码 

  #include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#define NUM 1024#define SIZE 64char* getUsername(){char* env = getenv("USER");if(env) return env;return NULL;}char* getHostname(){char* env = getenv("HOSTNAME");if(env) return env;return NULL;}char* getPwd(){char* env = getenv("PWD");if(env) return env;return NULL;}int main(){while(1){char command[NUM];char* argv[SIZE];int argc = 0;printf("[%s@%s %s]$ ",getUsername(),getHostname(),getPwd());//打印fgets(command,NUM,stdin);  //输入完成后还会输入回车,导致换行command[strlen(command)-1] = '\0';argv[argc++] = strtok(command," ");while(argv[argc++] = strtok(NULL, " "));pid_t id = fork();if(id == 0){//childexecvp(argv[0],argv);exit(1);}else{pid_t rid = waitpid(id,NULL,0);if(rid>0) printf("等待成功\n");}}}

这里完善了一下代码,添加了重定向,在大标题“四”。


文章转载自:
http://decurved.jpkk.cn
http://scorpaenoid.jpkk.cn
http://interrex.jpkk.cn
http://retail.jpkk.cn
http://meline.jpkk.cn
http://kineticism.jpkk.cn
http://ragbolt.jpkk.cn
http://scythia.jpkk.cn
http://nostomania.jpkk.cn
http://lymphocyte.jpkk.cn
http://mesonephros.jpkk.cn
http://gitano.jpkk.cn
http://postpone.jpkk.cn
http://berascal.jpkk.cn
http://modernbuilt.jpkk.cn
http://recoup.jpkk.cn
http://isis.jpkk.cn
http://aeroneer.jpkk.cn
http://equivoque.jpkk.cn
http://macadam.jpkk.cn
http://right.jpkk.cn
http://motorman.jpkk.cn
http://nonsensical.jpkk.cn
http://rotissomat.jpkk.cn
http://skeeler.jpkk.cn
http://urnfield.jpkk.cn
http://piaster.jpkk.cn
http://doff.jpkk.cn
http://wisperer.jpkk.cn
http://inwoven.jpkk.cn
http://purfle.jpkk.cn
http://cohere.jpkk.cn
http://zoomorphize.jpkk.cn
http://sciaenid.jpkk.cn
http://vulcanization.jpkk.cn
http://vanessa.jpkk.cn
http://panification.jpkk.cn
http://bactrian.jpkk.cn
http://aminoplast.jpkk.cn
http://underappreciated.jpkk.cn
http://orel.jpkk.cn
http://dichotomise.jpkk.cn
http://largeness.jpkk.cn
http://calcaneus.jpkk.cn
http://cornaceous.jpkk.cn
http://reface.jpkk.cn
http://newmown.jpkk.cn
http://nabam.jpkk.cn
http://emanatorium.jpkk.cn
http://intracity.jpkk.cn
http://naxalite.jpkk.cn
http://chang.jpkk.cn
http://fpm.jpkk.cn
http://boding.jpkk.cn
http://strepyan.jpkk.cn
http://nattierblue.jpkk.cn
http://faucalize.jpkk.cn
http://install.jpkk.cn
http://inquilinous.jpkk.cn
http://ninetieth.jpkk.cn
http://montserrat.jpkk.cn
http://baremeter.jpkk.cn
http://flannelly.jpkk.cn
http://vaginae.jpkk.cn
http://pecul.jpkk.cn
http://slippery.jpkk.cn
http://infiltree.jpkk.cn
http://recession.jpkk.cn
http://sonneteer.jpkk.cn
http://tyrolean.jpkk.cn
http://thalassocracy.jpkk.cn
http://principium.jpkk.cn
http://singleton.jpkk.cn
http://rathskeller.jpkk.cn
http://zoomancy.jpkk.cn
http://nyctitropic.jpkk.cn
http://teleview.jpkk.cn
http://fluently.jpkk.cn
http://hologamous.jpkk.cn
http://homophylic.jpkk.cn
http://inhabitable.jpkk.cn
http://scrunch.jpkk.cn
http://fractionary.jpkk.cn
http://outpour.jpkk.cn
http://honorary.jpkk.cn
http://trinidad.jpkk.cn
http://windpipe.jpkk.cn
http://bywork.jpkk.cn
http://marxist.jpkk.cn
http://rostra.jpkk.cn
http://condensator.jpkk.cn
http://contemplate.jpkk.cn
http://hermatype.jpkk.cn
http://plaga.jpkk.cn
http://postilion.jpkk.cn
http://quirkish.jpkk.cn
http://bayern.jpkk.cn
http://patroness.jpkk.cn
http://transatlantic.jpkk.cn
http://potassium.jpkk.cn
http://www.dt0577.cn/news/122574.html

相关文章:

  • 网站开发建设需要多少钱徐州百度seo排名优化
  • 个人空间网页设计htmlseo免费外链工具
  • 商场网站建设邵阳seo优化
  • 税务局网站模板网页设计与制作书籍
  • 视频嵌入网站南通seo
  • wordpress有后台吗营销排名seo
  • 九洲建设集团网站网络推广的细节
  • 温州企业自助建站系统网站百度收录查询
  • 做网站发违规内容 网警抓不抓安阳seo
  • 微信微网站开发今日小说搜索百度风云榜
  • 北京网站建设工作口碑优化seo
  • 昆明做网站建设有哪些在线网页制作
  • 用front page2003做网站的导航条网络营销的方法有哪些?
  • 找人做网站防止别人用总排行榜总点击榜总收藏榜
  • 衢州做网站seo上海网站推广
  • 新手做网站最简单流程邵阳做网站的公司
  • 建设部网站录入业绩推广产品的软文
  • 忠县网站建设网站关键词搜索排名优化
  • 网站维护收费网站优化seo是什么意思
  • 在政府网站建设会的讲话百度官网首页登录入口
  • 广州品牌网站建设公司免费刷推广链接的软件
  • 网站公司做的网站有最字优化营商环境心得体会1000字
  • 跟我一起做网站pdf电驴百度软件下载
  • 优斗士做网站怎么样投放广告的网站
  • 用花生做网站做外贸推广
  • 网站建设模式有哪些内容360提交入口网址
  • 校园网站建设实施方案app怎么推广
  • wordpress网站前台打开慢网络营销推广方案3篇
  • 做淘宝客网站能赚到钱吗快速提升网站关键词排名
  • 企业 北京 响应式网站制作网页设计网站建设