| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 848 人关注过本帖
标题:帮偶解释这串小代码
只看楼主 加入收藏
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
结帖率:75%
收藏
 问题点数:0 回复次数:7 
帮偶解释这串小代码
for (i = 0; i<5; i++)
          {
              char tempname[] = "XXXXXX" ;              NewName = mktemp(tempname);
              fp = fopen(NewName,"w");
              fclose(fp);
          }

mktemp开辟一个temp存放x文件名的文件?
这个循环有什么用?具体是怎么循环的?是不是tempname[] 少了个i?
这是个制造垃圾文件的函数.
搜索更多相关主题的帖子: 代码 解释 
2007-12-09 16:22
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
mktemp()这个函数干什么用的?

char tempname[] = "XXXXXX"
定义数组的时候,如果同时初始化整个数组,可以不写数组长度,象这一句跟
char tempname[7] = "XXXXXX"是等效的

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-12-09 18:33
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
这个循环每次都用"XXXXXX"来初始化字符数组 tempname[],看起来有点多余。
  NewName = mktemp(tempname);
来看,mktemp()应该是一个返回c-string的函数,并将其传递给fopen()。
2007-12-09 19:03
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
收藏
得分:0 
在我看来他这个代码实现不了制造垃圾文件的功能吧.?
2007-12-09 21:02
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
收藏
得分:0 
mktemp
功能:产生唯一的临时文件名
表头文件  #include&lt;dir.h&gt;

定义函数  char * mktemp(char * template);

函数说明:  mktemp()用来产生唯一的临时文件名。参数template所指的文件名称字符串中最后六个字符必须是XXXXXX。产生后的文件名会借字符串指针返回。

返回值:  文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

附加说明  参数template所指的文件名称字符串必须声明为数组,如:
char template[ ]=”template-XXXXXX”;
不可用char * template=”template-XXXXXX”;

范例  #include&lt;stdlib.h&gt;
main()
{
char template[ ]=”template-XXXXXX”;
mktemp(template);
printf(“template=%s\n”,template);
}



不懂的地方是,每次他产生的文件名不都是一样的么?那不就覆盖了还是怎么说?怎么能达到产生多个垃圾文件的目的?
2007-12-09 21:06
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
收藏
得分:0 
极光大哥错解我的意思了.呵呵..
2007-12-09 21:12
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
你写个程序,看看多次调用这个函数的时候,产生的文件名是不是一样的

我看函数介绍的意思是每次都产生一个不重复的文件名

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-12-10 08:51
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
收藏
得分:0 
等回学校了研究研究。呵呵。。
只知道他文件名称最后六个是xxxxxx前面的恐怕就是rand了。hoho~
2007-12-10 18:01
快速回复:帮偶解释这串小代码
数据加载中...
 
   



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

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