Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1) C4905

szeroki literału ciągu rzutować na "LPSTR"

Kompilator wykryto niebezpiecznych cast.Obsady pomyślnie, ale należy użyć procedury konwersji.

To ostrzeżenie jest domyślnie wyłączona.Zobacz Kompilator ostrzeżenia czy są wyłączone domyślnie uzyskać więcej informacji.

Przykład

Poniższy przykład generuje C4905.

// C4905.cpp
// compile with: /W1
#pragma warning(default : 4905)
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>

int main()
{
    LPSTR y = (LPSTR)L"1234";   // C4905

    // try the following lines instead
    // wchar_t y[128];
    // size_t  sizeOfConverted;
    // errcode err = 0;
    //
    // err = mbstowcs_s(&sizeOfConverted, &y[0], 128, "12345", 4);
    // if (err != 0)
    // {
    //     printf_s("mbstowcs_s failed!");
    //     exit (-1);
    // }
    // wprintf(L"%s\n", y);
    
    return 0;
}