Aracılığıyla paylaş


C6274

C6274 Uyarı: karakter olmayan <number> parametre olarak geçildi ne zaman <function> çağrısında karakter gereklidir

Biçim dizesi bir karakter gerekli olduğunu belirtir, bu uyarı gösterir (örneğin, bir %c veya %C belirtimi) ancak bir tamsayı olmayan bir kayan noktalı sayı, dize ya da yapı olarak geçirilir.Bu büyük bir olasılıkla hatalı çıktı neden bozukluğudur.

Örnek

Aşağıdaki kod, bu uyarı oluşturur:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
    
   sprintf(buff,"%c",str);
}

Bu uyarı düzeltmek için şu kodu kullanın:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
 
   sprintf(buff,"%c",str[0]);
}

Aşağıdaki kod güvenli dize işleme işlevi kullanır sprintf_s, bu uyarı düzeltmek için:

#include <stdio.h>
#include <string.h>

void f(char str[])
{
   char buff[5];
  
   sprintf_s(buff,5,"%c", str[0]);
}