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

做合法的海外购网站需要什么手续徐州建设银行网上银行个人网站

做合法的海外购网站需要什么手续,徐州建设银行网上银行个人网站,百度怎么发帖做推广,wordpress静态分页目录 1.分析 2.打印输入提示符 3.读取并且处理输入字符串 4.创建子进程并切换 5.bash内部指令 6.完整代码 1.分析 当我们登录服务器的时候#xff0c;命令行解释器就会自动加载出来。接下来我们就。在命令行中输入指令来达到我们想要的目的。 我们在命令行上输入的…目录 1.分析 2.打印输入提示符 3.读取并且处理输入字符串 4.创建子进程并切换 5.bash内部指令 6.完整代码 1.分析 当我们登录服务器的时候命令行解释器就会自动加载出来。接下来我们就。在命令行中输入指令来达到我们想要的目的。        我们在命令行上输入的是一连串的字符串那么bash首先要做的就是分析字符串。然后判断是否合法字符串。如果是合法字符串那么就创建一个子进程让子进程去切换执行命令bash分析子进程结果。如果是非法字符串那么就再次循环整体嵌套在一个while循环里面。如此循环下去。 2.打印输入提示符 通过观察超级用户和普通用户可以发现提示行主要由三部分构成用户名主机名地址以及特殊符号用户名和主机名可以从环境变量中获取主机名就设置为区别于shell。 #includeiostream #includeunistd.h #includestdio.h #includestring using namespace std;const int MaxSize1024;char * UsrName; char * HostName; char CommandPwd[MaxSize];//打印命令行提示符 void PrintCLPrompt() {printf([%s%s %s],UsrName,HostName,CommandPwd); }//准备工作 void setup() {UsrNamegetenv(USER);HostNamegetenv(HOSTNAME);//这里采用C的string来接收是为了后序处理方便string strgetenv(PWD);string tmpstr.substr(str.rfind(/)1);//加一去除/字符snprintf(CommandPwd,MaxSize,%s,tmp.c_str());//格式化输出到数组函数 }int main() {setup();while(1){PrintCLPrompt();//让程序停在这里方便观察 scanf(%d,NULL);}return 0; }此时输出的命令行提示符就在我们的预期之中了 3.读取并且处理输入字符串 读取比较简单我们只需scanf或者cin即可。 C兼容C所以在这里读取可以使用C的方式或者是C的方式同理输出也可以采用C的方式或者C的方式哪个方便用哪个。处理的话我们就把它处理成命令行参数列表以便后续切换进程。 前面代码相同加上后序调试代码与读取指令即可。 //读取处理指令 char Command[MaxSize]; char * argv[MaxSize]; void ReadDealCommand() {//读取一行字符串fgets(Command,MaxSize,stdin);int lenstrlen(Command)-1;//fegts会把\n也读取到但这个是不用的字符.Command[len]\0;//处理字符串int size0;int prev-1,cur0;//预处理将空格换成\0for(int i0; ilen; i){if(Command[i] )Command[i]\0;}while(curlen){if(prev -1 Command[cur]!\0|| Command[prev]\0 Command[cur]!\0){argv[size]Commandcur;}prev;cur;}//argv最后加上NULLargv[size]NULL;}int main() {setup();while(1){ //打印提示行PrintCLPrompt();//读取处理指令ReadDealCommand();//检测是否处理成功for(int i0; argv[i]; i){printf(argv[%d]:%s\n,i,argv[i]);}}return 0; }上述读取一行字符串采用了C语言的fgets函数当然也可以用C的getline。使用C的fgets函数要注意它会把反斜\n也读取到,在计算字符串的长度时要减一。 将原字符串空格改为\0后,就可以让数组指针直接指向原字符串即可。 其中要注意可能有结尾或者开头带空格的情况。以下用代替空格 ls-a-l ls-a-l ls-a-l 4.创建子进程并切换 //执行指令 void PreformCommand() {pid_t idfork();if(id 0 ){execvp(argv[0],argv);exit(111);}//父进程int status0;pid_t ridwait(status);if (WIFEXITED(status)){// 子进程正常退出提取退出状态码int exit_status WEXITSTATUS(status);// printf(Child process exited normally with status %d\n, exit_status);}else if (WIFSIGNALED(status)) {// 子进程因信号终止提取信号编号int signal_num WTERMSIG(status);printf(Child process terminated by signal %d\n, signal_num);} }int main() {setup();while(1){ //打印提示行PrintCLPrompt();//读取处理指令ReadDealCommand();//执行指令PreformCommand();}return 0; }创建子进程,并让子进程切换到所要执行的程序,父进程接收子进程的退出码即可.由此我们便基本完成了bash程序。 5.bash内部指令 有一些指令是可以直接从环境变量中得到或使用的就不必再创建子进程了直接在bash里完成指令即可。比如cdpwd等这些都是bash内部程序。 //执行指令 void PreformCommand() {//bash内部程序if(strcmp(pwd,argv[0])0){ printf(%s\n,getenv(PWD));return ;}else if(strcmp(cd,argv[0])0){chdir(argv[1]);char cwd[1024];getcwd(cwd,1024);//更新地址string strcwd;string tmpstr.substr(str.rfind(/)1);//加一去除/字符snprintf(CommandPwd,MaxSize,%s,tmp.c_str());//格式化输出到数组函数//修改环境变量string sPWD;scwd;snprintf(cwd,MaxSize,%s,s.c_str());//格式化输出到数组函数 putenv(cwd);//putenv参数要是char*但c_str()返回的是const char *return ;}pid_t idfork();if(id 0 ){execvp(argv[0],argv);//切换不成功返回退出码exit(111);}//父进程int status0;pid_t ridwait(status);if (WIFEXITED(status)){// 子进程正常退出提取退出状态码int exit_status WEXITSTATUS(status);// printf(Child process exited normally with status %d\n, exit_status);}else if (WIFSIGNALED(status)) {// 子进程因信号终止提取信号编号int signal_num WTERMSIG(status);printf(Child process terminated by signal %d\n, signal_num);} }int main() {setup();while(1){ //打印提示行PrintCLPrompt();//读取处理指令ReadDealCommand();//执行指令PreformCommand();}return 0; }6.完整代码 最后全部的代码就在这了上述粘贴可能有错误还望海涵 #includeiostream #includeunistd.h #includestdio.h #includestring #includestring.h #includesys/types.h #includestdlib.h #includesys/wait.h using namespace std;const int MaxSize1024;char * UsrName; char * HostName; char CommandPwd[MaxSize];//打印命令行提示符 void PrintCLPrompt() {printf([%s%s %s],UsrName,HostName,CommandPwd); }//准备工作 void setup() {UsrNamegetenv(USER);HostNamegetenv(HOSTNAME);string strgetenv(PWD);string tmpstr.substr(str.rfind(/)1);//加一去除/字符snprintf(CommandPwd,MaxSize,%s,tmp.c_str());//格式化输出到数组函数 }//读取处理指令 char Command[MaxSize]; char * argv[MaxSize]; void ReadDealCommand() {//读取一行字符串fgets(Command,MaxSize,stdin);int lenstrlen(Command)-1;//fegts会把\n也读取到但这个是不用的字符Command[len]\0;//处理字符串int size0;int prev-1,cur0;//预处理将空格换成\0for(int i0; ilen; i){if(Command[i] )Command[i]\0;}while(curlen){if(prev -1 Command[cur]!\0|| Command[prev]\0 Command[cur]!\0){argv[size]Commandcur;//.autorelabel printf(%d ,cur);}prev;cur;}//argv最后加上NULLargv[size]NULL;} //执行指令 void PreformCommand() {//bash内部程序if(strcmp(pwd,argv[0])0){ printf(%s\n,getenv(PWD));return ;}else if(strcmp(cd,argv[0])0){chdir(argv[1]);char cwd[1024];getcwd(cwd,1024);//更新地址string strcwd;string tmpstr.substr(str.rfind(/)1);//加一去除/字符snprintf(CommandPwd,MaxSize,%s,tmp.c_str());//格式化输出到数组函数//修改环境变量string sPWD;scwd;snprintf(cwd,MaxSize,%s,s.c_str());//格式化输出到数组函数 putenv(cwd);//putenv参数要是char*但c_str()返回的是const char *return ;}pid_t idfork();if(id 0 ){execvp(argv[0],argv);//切换不成功返回退出码exit(111);}//父进程int status0;pid_t ridwait(status);if (WIFEXITED(status)){// 子进程正常退出提取退出状态码int exit_status WEXITSTATUS(status);// printf(Child process exited normally with status %d\n, exit_status);}else if (WIFSIGNALED(status)) {// 子进程因信号终止提取信号编号int signal_num WTERMSIG(status);printf(Child process terminated by signal %d\n, signal_num);} }int main() {setup();while(1){ //打印提示行PrintCLPrompt();//读取处理指令ReadDealCommand();//执行指令PreformCommand();}return 0; }
http://www.w-s-a.com/news/135288/

相关文章:

  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务
  • 四核网站建设设计网站流程
  • ui设计网站设计与网页制作视频教程wordpress插件漏洞利用
  • 网站建设公司排名前十做网站的最终目的
  • 选择网站开发公司的标准中国网站建设市场规模
  • 衣服网站建设策划书广州住房和城乡建设部网站
  • 微商城科技淄博网站建设优化seo
  • 杭州 网站设计制作东圃手机网站开发
  • 网站文章页内链结构不好可以改吗微信平台如何开发
  • 炫酷业务网站课程网站如何建设方案
  • 网站建设服务器可以租吗wordpress微信打赏
  • 网站制作的重要流程图大连网站优化快速排名
  • 河南省住房建设厅官方网站注册公司邮箱需要什么
  • 美橙网站注册华为手机网站建设策划方案论文
  • 河南省和建设厅网站首页在线图片翻译
  • 关于备案空壳网站清理通知去别人网站挂黑链
  • 做网站待遇世界购物平台排行榜
  • 售后服务网站什么网站免费做简历模板
  • 网站模板怎么修改成都网站优化seo
  • 给装修公司做推广的网站wordpress站点的根目录
  • 怎么创建企业网站wordpress怎么做404页面跳转
  • 福建省住房和建设厅网站网站做著作权
  • 编程代码网站网站搭建的注意事项
  • 音乐网站排名公司如何做自己的网站