Bagikan melalui


Compiler Warning (level 1) C4905

string lebar literal cast ke 'LPSTR'

Pengkompilasi mendeteksi pemeran yang tidak aman. Pemeran berhasil, tetapi Anda harus menggunakan rutinitas konversi.

Peringatan ini nonaktif secara default. Lihat Peringatan Pengkompilasi yang Nonaktif secara Default untuk informasi selengkapnya.

Contoh

Sampel berikut menghasilkan 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;
}