C语言中模拟DOS的type命令,显示文本文件的内容。

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:28:20
注:设有文件pro_1.c,其内容为:
#include “stdio.h”
void main( )
{ int a=3, b=4, c;
c=a+b;
printf(“c=%d\n”, c);
}

程序模板(设此程序的程序名为:pro10_1.c)
#include "stdio.h"
#include "stdlib.h"
void main(______, ________)
{ /*定义文件类型的指针fp*/
char ch;
if(argc<2)
{ /*输出"No file name."*/
/*退出程序*/
}
if(以读方式打开命令行中待显示的文件argc[1],
若能打开,则使文件指针fp指向该文件的信息区)
{ printf("No such file.");
abort( );
}
while((ch=fgetc(fp))!=EOF)
/*将从文件中读出的字符显示在屏幕上*/
/*关闭文件*/
}
请高手按模板编写一下,我觉得按模板的编写不出来,没有输入语句。
请解释一下主函数参数的用法,if(argc<2)这句不名吧,argc没有赋值,本身就不可预料怎么可以判断它与2的大小呢?
如果没有赋值就已经默认为1,那么肯定小于2了,不就直接结束程

int main ( int argc, int **argv )

如果你直接运行生成的.exe文件,就没有通过命令行给main传递参数

所以argc=1.

比如就如下程序:

int main(int argc,char*argv[])
{

for(int i=0;i<argc;i++)

cout<<argv[i]<<endl1;

}
假如说你生成的文件在c:\下的123.exe;

那么你在命令行下输入c:\123 aaaa bbbb cccc

那么程序最终会输出
c:\123.exe
aaaa
bbbb
cccc
这4个字符串<这几个都是命令行传给main函数的>
如果你编译之后直接点运行那么就只会输出 c:\123.exe

还比如这个 NOTEPAD 123.txt 运行以后就会打开123.txt文件
他们都是一个道理

int main ( int argc, int **argv )argc没有赋值,默认为1