导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

C++小问题

darkingfans 2010-07-15 05:01:04
// helloworld.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

int main(int argc, char* argv[])
{
printf("Hello World!\n");
return 0;
}
int argc, char* argv[]为什么要加这个 为什么??

...全文
130 点赞 收藏 18
写回复
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
山伟 2010-07-16
int argc, char *argv[]就是为了让程序里面能使用参数,argc是argument count的缩写,表示参数的个数,argv是argument value的缩写,表示参数的值,
需要注意的是,exe程序的完整文件名也算在参数里面,所以ping localhost -t的argc是3

回复
chenhl0201 2010-07-16
刚开始学习就不要关心他们,直接不加啊
回复
wssbygone 2010-07-16
[Quote=引用 8 楼 980333 的回复:]
比如说,你在DOS下运行某个程序。。。如
edit a.txt
那么,你的 argc为2,argv[0]是edit,argv[1] 是a.txt
如果是copy a.txt b.txt
那么你的argc为3,argv[0]是copy,argv[1]是a.txt,argv[2]是b.txt
[/Quote]
argc是参数个数,argv是个字符串数组,argv[0]对应着的源程序文件名,argv[1]等分别对应你将要使用的文件,比如输入、输出文件,这样源程序中只需要使用argv[1]来代替你将要传给这个参数。
虽然说在vc等集成开发环境中可以不用,但是学着点也有没什么坏处,从我刚才的解释你也应该可以看到,这种方式比较灵活,因为输入的参数可以变化,因为在源程序代码中是用argv[1]等来代替的。
回复
码侬 2010-07-16
[Quote=引用 9 楼 lthyxy 的回复:]
你不加不是一样的可以,到不加不行时再去想不更加好?
[/Quote]
严重同意
回复
LRYIVAN 2010-07-16
刚开始学别抠得太细,尤其是系统的东西,语法掌握的比较熟了,再去想那些比较好,不然你会学的比较痛苦,毕竟系统的东西那么多
回复
xpbhere 2010-07-16
这个用于接收程序命令行参数
int argc 标识参数命令个数
char *argv[] 存放各个参数命令
回复
Eleven 2010-07-16
int argc, char *argv[]
---------------------
argc表示参数个数,argv是个指针数组,其中保存每一个参数的值
argv几乎不为空。。。
回复
wltg2001 2010-07-15
int argc, char* argv[]为什么要加这个 为什么??
===============
用来传命令行参数给你的程序的。
比如你的程序文件名是my.exe,你在命令行状态下输入:my.exe -1那么argc就是2,argv[0]是my.exe,argv[1]是-1。
如何你的程序想要带参数运行,这个是很有用的。
回复
stuarts740 2010-07-15
MFC程序一般不用加
回复
liutengfeigo 2010-07-15
你不加不是一样的可以,到不加不行时再去想不更加好?
回复
_菜菜 2010-07-15
比如说,你在DOS下运行某个程序。。。如
edit a.txt
那么,你的 argc为2,argv[0]是edit,argv[1] 是a.txt
如果是copy a.txt b.txt
那么你的argc为3,argv[0]是copy,argv[1]是a.txt,argv[2]是b.txt
回复
jogger007 2010-07-15
int argc, char* argv[]为什么要加这个 为什么??
==============================================
因为系统会有一些参数有时也会传给程序。
例如dos命令:ping 127.0.0.1 -t
其中-t就是系统传给应用程序的参数
回复
zuiyuezhou888 2010-07-15
[Quote=引用 5 楼 darkingfans 的回复:]
菜鸟不懂`~~
[/Quote]

用集成开发环境开发 这东西其实真没啥用 不用管 重点还是学习语法
回复
darkingfans 2010-07-15

菜鸟不懂`~~
回复
zuiyuezhou888 2010-07-15
在dos下编译程序时用的 argc是命令参数的个数 argv是参数数组
当你在vc6或者vs2005之类的工具编译的时候用不到这些参数
回复
totti1006 2010-07-15
在是编写windows应用程序的需要,argc是从操作系统传过来的参数个数,argv指向具体的参数
回复
InitialJ 2010-07-15
char* argv[]是一个形参,外部传递给程序的字符串参数,还可以写成char** argv
回复
cpp2017 2010-07-15
这个是运行时的参数,个数不固定。
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……