1、首先明确一下我们编译出来的可执行程序
windows编译出来的可执行程序扩展名为exe,比如test.ext,楼主例子中的echo.exe,运行程序的时候exe可以省略。
我们要执行一个程序,第一个肯定是要写上程序的名字,比如echo.exe或者echo,然后后面跟参数,比如楼主程序里面的hellow, world,就是2个参数,以空格分开,第一个参数是hellow,,第二个参数是world
2、然后再看一下程序是如果将我们写的参数传递给可执行程序的。
main函数的参数是两个int argc,char *argv[],argc就是参数的个数,argv数组就是具体的参数了。
程序执行时,会根据我们输入的个数来决定给main函数传递什么东西。按照空格分开,每一个输入就是一个参数(注意:也要包含程序本身的名字,也是一个参数)
即当我们输入echo hellow, world的时候,main函数接收到3个参数,echo,hellow,和world,这个时候argc就等于3,argv[0]是echo,argv[1]是hellow,,argv[2]world。
3、估计楼主疑惑的就是可执行程序的名字为什么也是一个参数,这个是C语言的规范,记住就行了哈。
@echo offcolor 1a&rem ProductVersion
setlocal ENABLEDELAYEDEXPANSION
title ip修改器
rem eth
set eth="本地连接"
rem ip
set /p pass=请输入网段:
rem %gateway%==none netsh interface ip set address %eth% static %ip% %netmasks% %
gateway% > nul
set /p pas=请输入主机位:
remif %dns%==none netsh interface ip set
set ip="192.168.%pass%.%pas%"
rem gateway
set gateway=192.168.%pass%.254
rem netmasks
set netmasks=255.255.255.0
rem dns
set dns=218.89.0.124
rem dns2
set dns2=61.139.50.67
echo 正在将本机IP更改到: %ip% 请等候...
rem
if %gateway%==none netsh interface ip set address %eth% static %ip% %netmasks% %
gateway% > nul
if not %gateway%==none netsh interface ip set address %eth% static %ip% %netmasks% %
gateway% 1 > nul
if %dns%==none netsh interface ip set dns %eth% static %dns%> nul
if not %dns%==none netsh interface ip set dns %eth% static %dns%> nul
if %dns2%==none netsh interface ip add dns %eth% %dns2%> nul
if not %dns2%==none netsh interface ip add dns %eth% %dns2% 2> nul
echo.........................
echo 检查当前本机IP:
ipconfig /all
echo.........................
echo 成功将本机IP更改为%ip%!
pause
exit
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)