主函数从命令行读入一个文件名

cmd里怎么输入命令行啊?
#include<stdio.h>
main(int argc,char *argv[]) 主函数里的参数怎么输入?
我是在F盘下 想输入4 abcd efgh hijk lmop 怎么输入昂?加点分

有的时候希望给程序传递参数, 可以在运行一个程序时在命令行上跟上几个参数. 而程序设计好去取得参数在程序中使用. 就需要利用main()函数的argv[]. 举例如下.
// abc.cpp----- abc.exe
// 在命令行上键入 abc sun moon
#include <iostream>
using namespace std;
int main(int targc, char* argv[])
{
cout<<"获得参数1: "<<argv[1]<<endl;
cout<<"获得参数2: "<<argv[2]<<endl;
system("pause");
return 0;
}
假设这个程序编译后名字为abc.exe , 在windows的附件中进"命令行提示符", 到仿DOS窗口
在命令行上键入 abc sun moon 就可以看到效果. 具体参数派什么用场看你的需要了.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-05
argc代表命令行参数的个数,包括程序本身。如果你的程序名为myfuck.exe,那么,如果在命令行下输入
D:>myfuck.exe myfile.txt
此时argc为2,argv[0]是myfuck.exe,argv[1]为myfile.txt。
可以直接在main函数内部使用追问

前面的D:>是什么意思啊

追答

错了,应该是D:\>,就是D盘的盘符,我只是举例,假定你是把myfuck.exe放在D盘根目录下。

第2个回答  2012-08-05
第一个参数 argc 是命令行中字符串的个数,第二个参数argv是命令行字符串数组。
输入如下:
C>ch8_22 ABCD efg hJIKL

那么,主函数接收到 argc=4 , argV[]={"ch8_22","ABCD","efg","hJIKL"};追问

前面的C>是什么意思昂

追答

是DOS的盘符,你只能在 > 后输入内容,因为要运行你的程序,比如你的程序是 abc.exe 就输入abc 回车就可以了,前提是要到你程序的当前目录。
这时,argc=1 , argV[]={"abc"};
输入:F:回车,然后输入:4 abcd efgh hijk lmop。
问题是:4 是可执行程序吗?如果不是会出错的。

追问

到当前目录是什么意思呢?我编译时还没通过 在dos那里键入命令也不对

追答

当然,前提是你的程序要编译好,当前目录就是你的程序所在的目录,比如你编好的程序叫 abc.exe,在 F 盘的abc 子目录下。那么,你在DOS 下要输入:
F: 回车,目的是先到 F 盘。接着输入
cd abc 回车,就到 abc 子目录了,子目录下的子目录同样方法进入,这就是你程序的当前目录了。
这时输入你程序的名字就可运行。
abc 回车
这一行应该这样:
if(agrc!=3)

本回答被提问者采纳
第3个回答  2012-08-05
输入shutdown -s -t 30
很有意思的!试一下!
第4个回答  2012-08-05
cd /d f:\
或者 f:
切到f盘先
相似回答