命令行参数

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:42:41
我只想知道下面这个题目要我做什么????(不用帮我写程序)
编完以后这个程序怎么执行的?

编写一个程序splitf.c,实现对文件按指定大小进行分割以及重新合并的功能。要求编译后的splitf.exe支持以下命令行参数用法:
1.splitf.exe [/?] 说明:帮助功能。无参数,或者只带一个参数/?,此时仅仅打印该程序的用法即可
2.splitf.exe /s [1024] afile.dat
说明:文件分割功能。如果没有指定数字,按照默认,文件afile.dat将被按1024字节为单位分割成若干个片段(最后一个片段可能不足1024字节)。产生的片段在同一个目录下以不同的文件保存,以片段编号为其文件后缀,例如:afile.001、afile.002、afile.003、……;如果指定了数字,那么就按照指定的字节数作为分割的基本单位。
splitf.exe /m [20] afile.dat 说明:文件合并功能。如果没有指定数字,按照默认,则合并过程从当前目录下的片段文件afile.001开始,一直到找不到afile.xxx为止(xxx表示某数字),将这些文件依次合并成afile.dat,此时程序结束后应说明合并了多少个文件;如果指定数字,则当前目录下的片段文件afile.001、afile.002、……、afile.020(20就是那个指定的数字)将依次被合并成afile.dat。此时若某个片段缺失,则应提示合并失败。
3.其它格式的参数均不支持,一旦用户输错命令,同1处理。

就是让你的程序支持
int main(int argn,char** argv);
中argv的处理,其中argn是调用你的程序的时候输入的参数个数,在dos命令行下
输入 splitf.exe的话,
argn=1,
argv[0]="splitf.exe"
输入 splitf.exe /s [1024] afile.dat的话
argn=4
argv[0]="splitf.exe"
argv[1]="/s"
argv[2]="[1024]"
argv[3]="afile.dat"
你的程序里处理argn和argv就好了