Compartir a través de


C6302

advertencia C6302: falta de coincidencia de la cadena de formato: cadena de caracteres como parámetro <número> cuando la cadena de caracteres anchos se requiere en llamada <trabajar>

Esta advertencia indica que la cadena de formato especifica que se requiere una cadena de caracteres anchos.Sin embargo, se pasa una cadena de caracteres.Es probable que este defecto provoque algún tipo de bloqueo o de daño.

Ejemplo

El código de ejemplo siguiente genera esta advertencia porque se pasa una cadena de caracteres a la función wprintf:

#include<stdio.h>

void f()
{
  char buff[5] = "hi";

  wprintf(L"%s", buff);
}

El código de ejemplo siguiente utiliza %hs para especificar una cadena de caracteres de un solo byte con la función wprintf:

#include<stdio.h>

void f()
{
  char buff[5] = "hi";

  wprintf(L"%hs", buff);
}

El código de ejemplo siguiente utiliza la función de manipulación de cadenas de caracteres segura wprintf_s para corregir esta advertencia:

#include<stdio.h>

void f()
{
  char buff[5] = "hi";

  wprintf_s(L"%hs", buff);
}