为什么缓冲区获得垃圾值?

时间:2015-02-20 05:55:14

标签: c++ visual-studio garbage widestring

我的项目中的代码。在使用buffer后,我无法理解swprintf_s从哪里得到这个(潓敭虑敭(10):)垃圾值。

    const char* m_filename = "Somename";
    unsigned m_line = 10;
    wchar_t buffer[256];

    ZeroMemory(buffer, 256);

    auto count = swprintf_s(buffer, L"%S(%d): ",
        m_filename, m_line);

我正在使用Visual Studio 2015 Preview。

1 个答案:

答案 0 :(得分:1)

swprintf_s期望 wchar_t 字符串为'%S'参数,并且您传递 char 字符串,因此将两个字符视为单个wchar_t (即:'所以' - >'潓')。