wprintf接受" wchar_t" ptr来自功能

时间:2015-04-19 03:17:05

标签: c

从main内部开始,我试图调用ParseInput,它返回一个字符串的宽字符指针,我希望wprintf到控制台。至今, 代码编译,但wprintf在调用时不执行任何操作。简单,对吧? (但我仍然无法看到它)

wchar_t *ParseInput(wchar_t *arg)
{
    wchar_t str[32];

    if (arg == L"option_1")
    {
        wcscpy_s(str, L"ret_1");
    }
    else
    if (arg == L"option_2")
    {
        wcscpy_s(str, L"ret_2");
    }

    return str;
}

int _tmain(int argc, _TCHAR* argv[])
{
    wchar_t *wstr;

    wstr = ParseInput(L"option_1");

    wprintf(L"%ls\n", wstr); 

    return 0;
}

最好的, 克里斯

1 个答案:

答案 0 :(得分:1)

为什么不在

中使用wcscmp()
if (arg == L"option_1")
    {
        wcscpy_s(str, L"ret_1");
    }

if (!wcscmp(arg, L"option_1"))
    {
        wcscpy_s(str, L"ret_1");
    }