Remplacement de itoa [Résolu]

Signaler
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
-
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Bonsoir a tous,
voila je viens de recompiler un programme que j'avais fait sous VC2003 avec VC2005. et il me dit que la fonction itoa() est 'deprecated'. j'aimerais savoir par quoi il faudrait la remplacer?
Merci par avance.
Bob
Bob...
"La chance accorde ses faveur aux esprits avertis..."

10 réponses

Messages postés
78
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
23 avril 2010

Pour eviter d'avoir ce genre d'erreur dans VS2005 sans avoir a modifier le code il faut ajouter une nouvelle option de preprocesseur.
Dans les proprietes de ton projet, va dans la categirie configuration properties -> C/C++ -> preprocessor.
Ensuite tu ajoutes l'option _CRT_SECURE_NO_DEPRECATE à la suite des options definies a la ligne "preprocessor definitions".
ex : preprocessor definitions : _DEBUG_;_WINDOWS;_CRT_SECURE_NO_DEPRECATE

(n'oublie pas le ; pour séparer chaque option de preprocesseur)
Avec ca ton warning devrait disparaitre.

autre solution :
va voir du coté de itoa_s dans la MSDN( c'est le remplacant "Microsoftien" sécurisé de itoa) et fait les modifs en conséquence dans ton code.

Les 2 choix marchent mais personnellement je prefere la premiere solution (par souci de portabilité avec les anciennes version de Visual Studio ou pour d'autres compilateurs).

Bonne prog

Mess with the best, die like the rest
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Clic droit propriété sur nom du proj et mettre 4996 dans la liste des alertes à exclure.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Petit message pour THENEOICEMAN. J'ai chercher dans MSDN pendant environ 20 minutes et dans les libraries de visual studio 2005 et j'ai pas trouver de itoa_s. Tu t'es peut-être trompé de nom. Mais pour éviter les message, c'est effectivement _CRT_SECURE_NO_DEPRECATE
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
itoa_s est bien dans MSDN.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
à oui? Peut-tu me dire où? Ça me renderais service parceque moi j'ai chercher et j'ai pas trouvé.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
a j'ai trouver. C'est bien _itoa_s?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
oui mais sans '_' devant doit aller idem.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
2865
Date d'inscription
samedi 2 novembre 2002
Statut
Membre
Dernière intervention
11 mai 2009
10
sinon on peux pas utiliser sprintf() aussi?
Bob...
"La chance accorde ses faveur aux esprits avertis..."
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
A réserver au formatage des 'double' sinon l'inclusion inutile de stdio.h fera gonfler ton exe inutilement et c'est une calamité en performance.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
pt de vu perf itoa est bon (BN corrigera au besoin)

et itoa_s doit y rajouter une décoration et ça doit baisser en perf (me méfie tjs qd ça parle de rajouter des sécu...)



et sinon, si tu utilisais déjà <stdio.h> , ça changera pas trop ton exe,



pr ma part, je ferai sauter le warning...

___________________________________________________________
Magicalement
Nono