使用CreateDirectory()函数创建文件夹,那个LPCSTR类型的参数如何给呢

使用CreateDirectory()函数创建文件夹,那个LPCSTR类型的参数怎么给呢?
我在windows下,要新建一个文件夹,我从msdn上查到可以使用CreateDirectory()函数。
BOOL   CreateDirectory(
    LPCTSTR   lpPathName,
    LPSECURITY_ATTRIBUTES   lpSecurityAttributes
);

函数原型如上。但是这个参数我不知道该怎么给出来。我用;
CreateDirectory( "d:\\files\\new ");
编译错误说,不能把char[]转化为LPCTSTR类型。那么我要怎么样产生这个数据类型的一个变量,来做输入参数呢?

------解决方案--------------------
_T( "d:\\files\\new ")
------解决方案--------------------
_T( "d:\\files\\new ")
------解决方案--------------------

CString strDir;
strDir = _T( "d:\\files\\new ");
CreateDirectory(strDir);

实在不行就强暴一点(强制装换),呵呵
------解决方案--------------------
CString strDir;
strDir = _T( "d:\\files\\new ");
CreateDirectory((LPCTSTR)strDir);比较好
------解决方案--------------------
从std::string, char*到CString:

char ch[20]= "d:\\files\\dir\\ ";
std::string mydir = "d:\\files\\dir\\ ";
CString str;
str.Format(_T( "%s%s "),mydir,ch);
CreateDirectory(str,NULL);
------解决方案--------------------
LPCTSTR类型:
LP:long型指针,这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。
C:常量;
T:和_T含义一样,应该是UNICODE型;
STR:字符串

再看看LPCTSTR的定义:
以下摘自 MS的头文件

// ANSI (Multi-byte Character) types
typedef CONST CHAR *LPCSTR, *PCSTR;

#ifdef UNICODE // r_winnt
typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
typedef CONST WCHAR *LPCWSTR, *PCWSTR;
typedef LPCWSTR LPCTSTR;

typedef LPCSTR LPCTSTR;

如果没有定义UNICODE,LPCTSTR实际上就是CONST char *
如果定义了UNICODE,LPCTSTR实际上变成了CONST unsigned short

所以char *和LPCSTR可以强制转换
char* p;
LPCTSTR lp;
p = (LPSTR)lp;

用CString或WideCharToMultiByte来处理

===========================================
以上内容部分抄自
http://topic.****.net/t/20020726/15/903636.html