| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:文件重命名问题
只看楼主 加入收藏
sdy不懂
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2012-2-22
结帖率:100%
收藏
 问题点数:0 回复次数:5 
文件重命名问题
if(rename("C:\\temp\\myfile.txt","C:\\temp\\mylife_copy.txt"))
  printf("Failed to rename file.");
else
  printf("File rename successfully.");
第一个printf语句与第二个printf语句是不是要对调一下。
搜索更多相关主题的帖子: 命名 file Failed 
2012-06-02 09:44
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
标准描述的是:成功执行返回 0 值。否则返回非 0 值。所以上面的那个语句逻辑上是对的。

但这种写法是很糟糕。习惯上,应该在 if 里作错误处理,但应该把判断条件写明确。
如果本地系统的文档中指出错误时返回负值,使用 if (rename(..,..) < 0) 则更清楚。否则也应该明确的写出 if (rename() != 0)。这容易使读码的人理解编码者的意图。
2012-06-02 10:48
sdy不懂
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2012-2-22
收藏
得分:0 
谢了!
2012-06-02 10:58
sdy不懂
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2012-2-22
收藏
得分:0 
if(rename("C:\\temp\\myfile.txt","C:\\temp\\mylife_copy.txt"))
  printf("Failed to rename file.");
else
  printf("File rename successfully.");

上面的if语句是什么意思啊!是不是说"如果把myfile.txt重命名为mylife_copy.txt",我感觉这里缺少了个判断。
可以帮我解释一下这个if语句的意思吗?
2012-06-02 11:02
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
rename 如果失败的话,返回非 0 值。从而 if 成功,会输出 Failed to rename file。否则会输出 File rename successfully。

对比这个语句:
int a = 1;
if (a) ...
if (a != 0) ...
逻辑上是一样的。
对与这种情况,写不写 != 0 一般没有什么太多要求。
不过调用系统函数的时候,写具体是个好习惯。因为一般习惯上都写,如果不写,人会以为你有什么特别的用意,从而会产生混淆。
2012-06-02 12:47
sdy不懂
Rank: 1
等 级:新手上路
帖 子:19
专家分:1
注 册:2012-2-22
收藏
得分:0 
懂了,谢谢!
2012-06-02 13:09
快速回复:文件重命名问题
数据加载中...
 
   



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

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