main函数的实现解析
main函数的传参的实现,其实也是一个解析字符串的过程:将每个word后一个空格改为“/0”,将单词提取出来。
就是这么简单。
废话不多说,直接上代码:
#include<stdio.h>
#include<string.h>
void shell_parse(char *sbuf)
{
char mbuf[];
sprintf(mbuf,"%s",sbuf);
char *buf=mbuf;//两次转换,得到一个能++的指针 //strcpy(a,buf);
int i;
int argc=;
char *argv[];
int state = ;
while(*buf)
{
char c = *buf;
printf("%c\n",c);
if(c == ' ' &&state==)
state = ;
if(c!= ' '&& state ==)
{
argv[argc++] =buf;
state = ;
printf("1:::argv[%d]:%s\n",argc,argv[]);
}
if(c == ' '&&state == )
{
*buf = '\0';
state = ;
}
/* if(c !=' '&& state == 0)
{
argv[argc++] = buf;
printf("2::argv[%d]:%s\n",argc,argv[argc]);
state = 1; }*/
buf++;
if(*buf == '\n')
*buf = '\0'; }
argv[argc] = NULL; printf("argc = %d\n",argc);
for(i = ;i<=argc;i++)
{
printf("argv[%d]:%s\n",i,argv[i]);
}
// free((void*)buf);
}
int main(int argc,char **argv)
{
int i = ;
char buf[];
//fgets(buf,64,stdin);
//printf("buf = %s\n",buf);
sprintf(buf,"%s","hsfsfs fsf fsaf;fsa fsfd");
printf("hell");
shell_parse("fsjf sflsdjf dsfsfsdf fs");//此处实现完全传出来的是参数。 }
main函数的实现解析的更多相关文章
- C语言中的main函数的参数解析
main()函数既可以是无参函数,也可以是有参的函数.对于有参的形式来说,就需要向其传递参数.但是其它任何函数均不能调用main()函数.当然也同样无法向main()函数传递,只能由程序之外传递而来. ...
- Atitit main函数的ast分析 数组参数调用的ast astview解析
Atitit main函数的ast分析 数组参数调用的ast astview解析 1.1. Xxcls.main(new String[]{"","bb"}) ...
- java中main函数解析(转载)
从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...
- 解析main函数的命令行参数
原创文章,转载请正确注明本文原始URL及作者. 介绍 写C/C++程序,我们常常需要把main函数的参数作为选项来传递.在linux中,解析选项有专门的函数可以用. int getopt(int ar ...
- java中main函数解析
从写java至今,写的最多的可能就是主函数 public static void main(String[] args) {} 但是以前一直都没有问自己,为什么要这么写,因为在c语言中就没有这样子的要 ...
- Python main()函数解析
__main__ — Top-level script environment '__main__'是顶级代码执行的作用域的名字. 当一个模块从标准input, 一个脚本文件,或一个交互命令read读 ...
- main函数参数解析
int argc,char *argv agrc表示参数的个数 argv储存参数 这个函数的意思是逐一输出参数 实际上,main函数也可以带参数.带参数main函数的定义格式如下:void main( ...
- Linux C编程--main函数参数解析
我们经常用的main函数都是不带参数的.因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有两个, 习惯上这 ...
- Main函数中的参数argc,argv的使用简单解析
本篇文章是对Main函数中的参数argc,argv的使用进行了简单的分析介绍,需要的朋友参考下: C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int a ...
随机推荐
- 小白的Python之路 day5 模块XML特点和用法
模块XML的特点和用法 一.简介 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今 ...
- UE4 径向模糊radiu blur
hlsl代码为: float2 ScreenMult = ; ; ] = {-0.08,-0.05,-0.03,-0.02,-0.01,0.01,0.02,0.03,0.05,0.08}; float ...
- 第三方推送 JPush 配置中的引入so库问题
Gradle入门:http://www.infoq.com/cn/articles/android-in-depth-gradle/ 当所需要的so库已经复制到libs目录下,系统还是提示 找不到so ...
- tomcat服务器一闪而过解决方法
JDK没有配置,下载JDK安装到电脑上,然后在电脑->属性->高级系统设置->环境变量,将JDK中bin文件的目录E:\Program Files (x86)\Java\jre7\b ...
- Flume环境搭建_五种案例
Flume环境搭建_五种案例 http://flume.apache.org/FlumeUserGuide.html A simple example Here, we give an example ...
- asp.net -mvc框架复习(11)-基于三层架构与MVC实现完整的用户登录
一.先从M部分写起(Modles\DAL\BLL) 1.Modles 实体类:上次实体类已经搞定. 2.DAL 数据访问类类 (1)通用数据数据访问类: A: 先编写数据连接字符串,写到网站根目录W ...
- IT术语的正确读法
Linux /ˈlɪnəks/ /ˈlɪnʊks/(EU) Linux 是一类 Unix 计算机操作系统的统称.该操作系统的核心的名字也是“ Linux” .参考: < !-- m --> ...
- spring使用c3p0报错
java.sql.SQLException: Connections could not be acquired from the underlying database! at com.mchang ...
- linux_初始参数选择
目前linux发行版? linux内核 : Linux Kernel2.2 2.4 2.6 3.x 发行版本: Red Hat 主流 6.x, 正在发展 7.x Fedora: 为Red Hat ...
- rem与@media 的优缺点
首先: 如果我们在做单独移动端网站或者app的时候 我建议 使用 rem ; 他能让我们在手机各个机型的适配方面:大大减少我们代码的重复性,是我们的代码更兼容. 下面两个图一个调试在常用的机 ...