I-Code-Analyse verwenden (aka FxCop) auf VS2012 und ich habe ein paar Funktionen der FormEntfernen C6054 Fehler mit scanf-Funktionen
void ReadTable(FILE *fd)
{
char label[32];
/* ... */
fscanf(fd, "%s", label);
/* ... */
if (strcmp(label, "TEST") == 0)
{
/* ... */
}
}
Diese immer warning C6054: String 'label' might not be zero-terminated.
werfen ich verstehen, warum dies geschieht, da sie‘ t verwenden SAL-Annotationen, um anzuzeigen, dass die Ausgabe von fscanf
Null-terminiert wird, aber die Tatsache bleibt.
Gibt es eine Möglichkeit, diese Warnung loszuwerden (ohne die entsprechende Codeanalyse zu deaktivieren)? Oder ist es etwas, womit ich leben muss, wenn ich scanf
verwende?
@ user3121023 ich mit, dass jetzt bin Kompilieren test (es dauert eine Weile), aber selbst wenn das funktioniert, ist es keine wirklich erweiterbare Lösung, besonders wenn es einen Fall gibt, in dem "label" dynamisch zugewiesen wird. – Wasabi