Bonjour,
J'essaye de compiler un projet avec vc2015 mais j'ai cette erreur
et je n'arrive pas à fixer ce problèmefatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration
quelqu'un peut m'aider
Bonjour,
J'essaye de compiler un projet avec vc2015 mais j'ai cette erreur
et je n'arrive pas à fixer ce problèmefatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration
quelqu'un peut m'aider
Ben qu'est-ce qu'il y a autour de la directive #error?
Bonjour,
tu,veux dire le code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #ifdef snprintf #error Macro definition of snprintf conflicts with Standard Library function declaration #endif
Dans quel header se trouve ce code, et dans quel header se trouve le #define snprintf quelque chose?
Ça sent l'utilisation des options "Security Developement Lifecycle" (SDL) avec du vieux code tout pourri.
snprintf est une passoire de sécurité :
https://msdn.microsoft.com/en-us/library/bb288454.aspx
De plus, le vrai snprintf() (celui de C99, qui accepte NULL comme buffer et retourne systématiquement la longueur totale de la chaîne) n'est pas censé exister sous Visual Studio, qui pisse sur C99 et C11.
Il n'ont que _snprintf(), qui n'accepte pas NULL, retourne -1 si le buffer est trop petit, et n'insère pas de zéro terminal dans ce cas; et _snprintf_s(), qui ne résout que le dernier de ces trois problèmes.
Salut,
Bon dans visual 2015 il ont ajouter sprintf()!
le code est dans le fichier stdio.h
Partager