关于 wcstombs() 函数 到底 怎么用啊

来源:百度知道 编辑:UC知道 时间:2024/05/05 01:57:49
//
TCHAR TempDir[MAX_PATH]
char * newCreatedDir="";
int size=sizeof(TempDir);
wcstombs(newCreatedDir,TempDir,size); //这句总报错

第一个参数一般是new出来的一个缓冲区,或者是栈上的一个缓冲区.你这个....newCreatedDir=""; 应该问题很大...我觉得你用反了。

第2个参数是需要变的原来的WCHAR的内容...你没内容,而是一个缓冲区....

这个是MSDN上的例子
void main( void )
{
int i;
char *pmbbuf = (char *)malloc( MB_CUR_MAX );
wchar_t *pwchello = L"Hello, world.";

printf( "Convert wide-character string:\n" );
i = wcstombs( pmbbuf, pwchello, MB_CUR_MAX );
printf( "\tCharacters converted: %u\n", i );
printf( "\tMultibyte character: %s\n\n", pmbbuf );
}