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[]为什么要加这个 为什么??

...全文
169 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
这个是运行时的参数,个数不固定。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧