| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4061 人关注过本帖
标题:请教C语言中CreateDirectory函数的参数问题
只看楼主 加入收藏
wntab
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
请教C语言中CreateDirectory函数的参数问题
#include <windows.h>
#include <iostream>         
using namespace std;
int main()
{
 char szDirName[] = "C:\\Program Files\\hotel";
 
 if( CreateDirectory(szDirName, NULL) )                         //判断是否存在,否则创建
 {
   括号中的代码执行吗??   
 }
 
 return 0;
}

上面代码中,如果目录存在,if括号中的代码执行吗?请详细指点CreateDirectory函数,非常感谢!!
搜索更多相关主题的帖子: 函数 目录 include return C语言 
2012-02-29 16:59
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:7 
if( CreateDirectory(szDirName, NULL) )
根据你的函数的返回值来判是否执行

用心做一件事情就这么简单
2012-02-29 18:03
闲出屁
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:420
专家分:612
注 册:2012-1-24
收藏
得分:7 
http://msdn.(v=vs.85).aspx

乔布斯是神 宫崎骏也是神~~ 才知道 原来士兵突击的主题曲是久石让的 久石让的音乐 真传神
2012-02-29 18:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
CreateDirectory()不是什麼判斷目錄是否存在,是執行創建目錄,它的返回值標誌創建是否成功——如果目錄已經存在,那麼是創建不成功的,此時返回假,否則創建成功了,返回真。

這個是Windows API函數(不是什麼C語言的函數,沒有這種概念,最好少提,內行人笑話你的),目錄是否創建成功,有多種因素影響,目錄已經存在只是其中一個可能性,另外還有權限問題、目錄名稱含有非法字符問題等等可能性。這個函數如果返回假,只是表明創建目錄動作確實失敗了,要知道確切的失敗原因,必須調用GetLastError()獲取錯誤碼,根據錯誤碼查詢得到原因。

注意:Windows API已經放棄了傳統C用返回值返回錯誤信息的機制,諸如getchar()用返回EOF來標誌錯誤的那種臭名昭著的做法不會再流行了。換言之,main()函數的返回值也是多餘的,Windows通常不使用這樣的返回機制,所以才存在大量的VOID類型。

1樓代碼中if語句是由CreateDirectory()返回真值才進入,表明創建目錄成功,執行創建目錄之後所需要的指令。

[ 本帖最后由 TonyDeng 于 2012-3-1 02:19 编辑 ]

授人以渔,不授人以鱼。
2012-03-01 02:16
wntab
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-29
收藏
得分:0 
谢谢上面三位老师的指点!非常感谢!现在明白了!
2012-03-01 07:55
快速回复:请教C语言中CreateDirectory函数的参数问题
数据加载中...
 
   



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

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