搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 文件重命名问题
标题:
文件重命名问题
只看楼主
sdy不懂
等 级:
新手上路
帖 子: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
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
2
楼
得分:0
标准描述的是:成功执行返回 0 值。否则返回非 0 值。所以上面的那个语句逻辑上是对的。
但这种写法是很糟糕。习惯上,应该在 if 里作错误处理,但应该把判断条件写明确。
如果本地系统的文档中指出错误时返回负值,使用 if (rename(..,..) < 0) 则更清楚。否则也应该明确的写出 if (rename() != 0)。这容易使读码的人理解编码者的意图。
2012-06-02 10:48
sdy不懂
等 级:
新手上路
帖 子:19
专家分:1
注 册:2012-2-22
第
3
楼
得分:0
谢了!
2012-06-02 10:58
sdy不懂
等 级:
新手上路
帖 子:19
专家分:1
注 册:2012-2-22
第
4
楼
得分: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
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
5
楼
得分: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不懂
等 级:
新手上路
帖 子:19
专家分:1
注 册:2012-2-22
第
6
楼
得分:0
懂了,谢谢!
2012-06-02 13:09
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-370647-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.314386 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved