Compartilhar via


C6064

Aviso C6064: argumento inteiro ausente para <função>correspondente à conversão especificador <number>

Este aviso indica que são sendo fornecidos argumentos insuficientes para coincidir com uma seqüência de caracteres de formato e um dos argumentos ausentes é um número inteiro.Esse defeito pode causar saída incorreta.

Exemplo

O código a seguir gera este aviso porque um número incorreto de argumentos foram usado no plano de sprintf e o argumento ausente era um número inteiro:

#include <string.h>
void f( )
{
  char buff[15];
  char *string="Hello, World";
  
  sprintf(buff,"%s %d", string);
}

Para corrigir esse aviso, especificar argumentos ausentes sistema autônomo mostrado no código a seguir:

#include <string.h>
void f( )
{
  char buff[15];
  char *string = "Hello, World";

  sprintf(buff,"%s %d",string, strlen(string));
}

O código a seguir usa a função de manipulação de seqüência segura, sprintf_s Para corrigir este aviso:

#include <string.h>
void f( )
{
  char buff[15];
  char *string="Hello World";

  sprintf_s(buff,sizeof(buff),"%s %d", string, strlen(string));
}

Consulte também

Referência

sprintf_s _sprintf_s_l swprintf_s, _swprintf_s_l