函数返回什么指针?

时间:2014-09-18 15:51:32

标签: c++

我有将char *转换为wchar_ *的函数。但它没有 - 我只有3个空格的奇怪字符串。是因为GetWC返回指向不存在的字符串的指针吗?

const wchar_t *GetWC(const char *c)
{
    size_t cSize = strlen(c)+1;
    std::wstring wc( cSize, L'#');
    mbstowcs( &wc[0], c, cSize );
    return wc.c_str();
}


int _tmain(int argc, _TCHAR* argv[])
{
    char *g ="aaa";

    const wchar_t* f= GetWC(g);
    wcout<<f;

    return 0;
}

1 个答案:

答案 0 :(得分:1)

wc.c_str()返回后

GetWC无效。 wc是一个局部变量