设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8039|回复: 0
打印 上一主题 下一主题

[C] c语言问题,main的argc,argv用处

[复制链接]

0

主题

0

好友

138

积分

注册会员

Rank: 2

性别
保密
楼主
发表于 2012-11-3 21:32:48 |显示全部楼层
本帖最后由 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".
注意的是,这里的参数它包括最终的程序名本身的字符串(含路径),因此计数时要小心.
  1. #include <iostream>
  2. using namespace std;
  3. int main(int argc, char *argv[]){
  4.         char** p=argv;
  5.         for(int i=0;i<2;i++){
  6.                 cout<<*(p+i)<<endl;
  7.         }
  8.         return 0;
  9. }
复制代码
这时调试时注意要加上参数,否则无法执行。假定参数为:adfaf
结果如下:
C:\Users\bfdn\Documents\C-Free\Temp\未命名2.exe
adfaf
请按任意键继续. . .
它实际上相当于在dos下执行:
未命名.exe  adfaf

只学vb.net/C/C++,其它的没精力啊
回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-5-4 14:04 , Processed in 0.112003 second(s), 30 queries .

回顶部