SKY外语计算机学习
标题:
c语言问题,main的argc,argv用处
[打印本页]
作者:
rogan
时间:
2012-7-15 11:06
标题:
c语言问题,main的argc,argv用处
关于这个的用处我简单发个主题,欢迎大家发言
作者:
lifulinghan
时间:
2012-7-15 11:06
本帖最后由 sky_yx 于 2015-12-30 14:17 编辑
#include <stdio.h>没写。还没写return 01;
作者:
rogan
时间:
2012-7-15 11:10
这个得在dos下才能体会,比如ping cd rm等后面接收的参数
int main(int argv, char** argc)
{
int i=0;
printf("argv=%d,\n",argv);
for(i=0;i<argv;i++)
printf("argc[%d]=%s",i,argc[i]);
}
复制代码
程序没有测试,希望大家来调试
作者:
rogan
时间:
2012-8-26 11:01
lifulinghan 发表于 2012-8-11 21:33
#include 没写。还没写return 01;
额,这个确实粗心了
作者:
dzweather
时间:
2012-11-3 21:32
本帖最后由 sky_yx 于 2015-12-30 14:17 编辑
看下dos的命令:
Microsoft Windows [版本 6.2.9200]
(c) 2012 Microsoft Corporation。保留所有权利。
D:\>dir /w /x
驱动器 D 中的卷是 Data
卷的序列号是 000A-6AA9
D:\ 的目录
2012/09/26 18:50 <DIR> PROGRA~1 Program Files
2012/09/23 09:10 <DIR> PROGRA~2 Program Files (x86)
2012/11/02 23:49 <DIR> Tools
0 个文件 0 字节
3 个目录 195,302,260,736 可用字节
D:\>
---------------------
可以看到上dir是一个命令,带有两个参数/w和/x
因此:int main(int argv, char** argc)中的argv参数就是表示这个程序最后在dos情况下可以带2个参数,
而char** argc就是这个参数数组的指针, 这个数组有两个元素,每个元素是指针分别指相各自的"参数字符串",如上面的"/w" "/x".
注意的是,这里的参数它包括最终的程序名本身的字符串(含路径),因此计数时要小心.
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
char** p=argv;
for(int i=0;i<2;i++){
cout<<*(p+i)<<endl;
}
return 0;
}
复制代码
这时调试时注意要加上参数,否则无法执行。假定参数为:adfaf
结果如下:
C:\Users\bfdn\Documents\C-Free\Temp\未命名2.exe
adfaf
请按任意键继续. . .
它实际上相当于在dos下执行:
未命名.exe adfaf
作者:
格式化
时间:
2013-6-27 00:39
本帖最后由 sky_yx 于 2015-12-30 14:17 编辑
路过!
欢迎光临 SKY外语计算机学习 (http://skywj.com/)
Powered by Discuz! X2.5