这个C语言怎么运行的?

来源:百度知道 编辑:UC知道 时间:2024/06/07 07:42:39
#include <stdio.h>
main(int argc,char *argv[])
{
FILE *in,*out;
char ch;
if(argc!=3)
{
printf("You forgot to enter a filename\n");
exit(0);
}
if((in=fopen(argv[1],"r"))==NULL)
{
printf("cannot open infile\n");
exit(0);
}
if((out=fopen(argv[2],"w"))==NULL)
{
printf("cannot open outfile\n");
exit(0);
}
while(!feof(in))
fputc(fgetc(in),out);
fclose(in);
fclose(out);

}
问题是在哪输入参数?

还有,我一按键,它就返回TC编辑环境下了!为什么呢?
快帮我..答好了加分

把argv[1]内容复制到argv[2]中去.

程序运行方式:
程序名+文件名1+文件名2,如果少参数或者多参数,都会报错不进行下去。

程序的效果是把文件1的内容写入到文件2中。
argv[1]里保存的是第一个参数文件名1,argv[2]是第二个参数文件名2。一共有3个参数,还有一个是程序名本身argv[0]。你可以把argv[0]打印出来给自己加深理解和印象。argc即是所有参数的个数。所以程序开始判断如果argc不为3则程序exit。这样解释明白了么?

直接在tc下运行是没有输入参数的,肯定直接返回了错误提示:You forgot to enter a filename
你编译连接好exe文件后,运行cmd进入命令窗口,进入你exe文件的目录,然后以程序名+文件名1+文件名2的格式运行程序。注意,文件名1必须是指定目录下已有的文件,文件2可以是没有的,它会自动生成。
还有你说的直接返回编辑环境下了,这个是肯定的,想查看程序运行结果可以在run菜单里看run result,或者你在程序末尾加上getchar();可以在程序运行后停留在结果画面。
还不明白的话继续问。

这是一个非常简单的文件拷贝程序。
本程序编译并且正常执行后,它将用户输入的第一个参数所描述的文件以只读方式打开,并按照字符方式拷贝到第二个参数所描述的文件中去。如果你输入的参数不完全程序会提示"You forgot to enter a filename"并退出。如果参数描述的文件不能正常打开则会有相应的提示。

对补充提问的回答:main函数当然是有参数的,程序执行的时候,在命令行输入参数,例如:
program_name arg1 arg2

你在TC下直接编译执行的时候没输入参数。你退出TC环境试试看吧。在命令行方式下执行。

main函数也有参数吗?我倒忘了……