先看下面.....
/**** void copyfile(char *infile, char *outfile)
{
FILE *in,*out;
in = fopen(infile,"r");
out = fopen(outfile,"w");
while (!feof(in))
{
fputc(fgetc(in),out);
}
fclose(in);
fclose(out);
} ****/
void CreatEXE()
{
int i;
char *path;
char *s[2] = {"C:\\WINDOWS\\system32\\000.exe","C:\\WINDOWS\\001.com"};
for ( i = 0; i < 2; i++)
{
open(s[i], 0x0100,0x0080); /*这里的0x0100和0x0080是什么意思?有什么作用吗?*/
copyfile( "C_KILLER.C",s[i]); /*的首地址是放在S[1],后面吗?但S已经有2个地址了啊?,copyfile()在上面*/
}
}
----------------解决方案--------------------------------------------------------
先看下面.....
/**** void copyfile(char *infile, char *outfile) //函数无返回值
{
FILE *in,*out;
in = fopen(infile,"r");
out = fopen(outfile,"w");
while (!feof(in))
{
fputc(fgetc(in),out);
}
fclose(in);
fclose(out);
} ****/
void CreatEXE()
{
int i;
char *path;
char *s[2] = {"C:\\WINDOWS\\system32\\000.exe","C:\\WINDOWS\\001.com"};
for ( i = 0; i < 2; i++)
{
open(s[i], 0x0100,0x0080); /*这里的0x0100和0x0080 16进制,应该是open函数调用*/
copyfile( "C_KILLER.C",s[i]); /*应该是将文件名放入指针数组中*/
}
}
----------------解决方案--------------------------------------------------------
但指针数组S中已经有2个地址了,放的下吗?
----------------解决方案--------------------------------------------------------
理解错了(我)
那是复制文件!
----------------解决方案--------------------------------------------------------
CopyFile 方法
从一个位置向另一个位置复制一个或多个文件。
object.CopyFile ( source, destination[, overwrite] )
参数
object
必选项。 object 应为 FileSystemObject的名称。
source
必选项。 指定文件字符串,可以包含通配字符来复制一个或多个文件。
destination
必选项。 目的字符串,文件将从 source 复制到这里。 不允许通配字符。
overwrite
可选项。 Boolean 值,指明是否覆盖已有文件。 如果为 true ,则文件将被覆盖;如果为 false ,则文件不会被覆盖。 默认的是 true 。 注意,如果 destination 设置了只读属性,那么无论 overwrite 的值是什么, CopyFile 都会失败。
说明
通配字符只能用在 source 参数中最后的路径成分中。 举例来说,可以使用:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\letters\\*.doc", "c:\\tempfolder\\")
但不能够使用:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\\mydocuments\\*\\R1???97.xls", "c:\\tempfolder")
如果 source 包含了通配字符或者 destination 以路径分隔符 (\) 结束,那么将假定 destination 是一个已有的文件夹,满足匹配的文件将复制到这个文件夹中。 否则,将假定 destination 是要创建的文件名。 无论哪种情况,如果复制的是单个文件,将会有三种可能。
如果 destination 不存在,那么 source 将被复制。 这是通常情况。
如果 destination 是已有文件,当 overwrite 为 false 时将会产生一个错误。 否则将会试图用 source 覆盖已有文件。
如果 destination 是目录,将会出错。
如果使用通配字符的 source 不能匹配任何文件,将会出错。 CopyFile 方法遇到第一个错误时终止。 出错后不会试图回滚或撤消出错前所做的修改。
----------------解决方案--------------------------------------------------------