[1]用C语言写了一个处理txt文本文件的程序,里面通过fopen打开txt文件,但是fopen需要的文件名字符串需要用gets手动输入,很麻烦。希望的效果是:拖动txt文件到exe文件上,自动把txt文件的文件名传给exe文件里的字符数组,然后fopen通过这个字符数组打开txt文件进行操作。
[2]如何给debug文件夹下生成的exe程序一个ico图标?利用VC6.0。(只要回答问题【2】我会另加5分,若回答问题【2】满意会加20分,言而有信)
问题二已经成功解决!但对于问题一有一个疑问: if( argc < 2 )
{
return;
}的判断条件是为什么?return;语句是什么意思?我见过的return语句后面都有个变量啊,这个没有。
还有,拖放完成后,系统把exe文件名作为实参传递给argv【0】,把txt文件名传递给argv【1】,如果在dos提示符下执行exe时带有其它参数,则依次传递给argv【2】,argv【3】。。。是这样吗?
(1)argc表示所有argv字符串的个数。我加这个判断条件是因为,后面用到了argv[1]。如果你没有拖动文件到exe文件上,而是直接运行exe文件,并没有提供参数,这时候只有argv[0]有值,而访问argv[1]可能会出错,所以加了这个条件。return后面应该是有个值,但是main函数好像是个例外,直接写return也不会有问题。这个是我个人的习惯,没有其他意思。
(2)argv里的字符串就是这个意思。