C6303
警告 C6303: 書式文字列の不一致です: ワイド文字の文字列がパラメーター <数値> として渡されました。<関数> への呼び出しには文字の文字列が必要です
この警告は、書式指定文字列によって文字列が必要であることが指定されていることを示します。 ただし、ワイド文字列が渡されています。 この問題は、なんらかのクラッシュや破損の原因となる可能性があります。
使用例
この警告が発生するコード例を次に示します。
#include <stdio.h>
void f()
{
wchar_t buff[5] = L"hi";
printf("%s", buff);
}
この警告を解決するには、次のサンプルコードに示すように %ls を使用します。
#include <stdio.h>
void f()
{
wchar_t buff[5] = L"hi";
printf("%ls", buff);
}
次に示すサンプル コードでは、この警告を解決するために安全な文字列操作関数 printf_s を使用しています。
#include <stdio.h>
void f()
{
wchar_t buff[5] = L"hi";
printf_s("%ls",buff);
}